AngularJS 和 DOM:在 ng-view 中获取元素
AngularJS and DOM: Get element inside ng-view
我只是想在我的 AngularJS 控制器中使用 DOM 获取我的 ng-view 中元素的高度。
我在 AngularJS 控制器中的以下代码中得到 Uncaught TypeError: document.getElementsByClassName(...).getElementById is not a function
。
// I do a hardcoded timeout for now to wait for ng-view to load.
setTimeout(function(){
var theView = document.getElementsByClassName("view-container")[0].getElementById("myView").getElementsByClassName("container")[0];
}, 10000);
这是我的 HTML 的样子:
<div class="view-container">
<ng-view class="view-frame ng-scope" autoscroll="" id="myView">
<div class="container ng-scope">
<div class="row">
<!-- content -->
</div>
</div>
</ng-view>
</div>
我已经多次检查 getElementById
的拼写。 AngularJS、ng-view 和 DOM 就是不喜欢一起工作,我是不是漏掉了一些奇怪的东西?或者是否有一种 "Angular" 方法来获取我的 ng-view 中元素的高度而不是使用 DOM?
您不能在元素上调用 getElementById,只有文档支持该功能。
就这样:
setTimeout(function(){
var theView = document.getElementById("myView").getElementsByClassName("container")[0];
}, 10000);
我只是想在我的 AngularJS 控制器中使用 DOM 获取我的 ng-view 中元素的高度。
我在 AngularJS 控制器中的以下代码中得到 Uncaught TypeError: document.getElementsByClassName(...).getElementById is not a function
。
// I do a hardcoded timeout for now to wait for ng-view to load.
setTimeout(function(){
var theView = document.getElementsByClassName("view-container")[0].getElementById("myView").getElementsByClassName("container")[0];
}, 10000);
这是我的 HTML 的样子:
<div class="view-container">
<ng-view class="view-frame ng-scope" autoscroll="" id="myView">
<div class="container ng-scope">
<div class="row">
<!-- content -->
</div>
</div>
</ng-view>
</div>
我已经多次检查 getElementById
的拼写。 AngularJS、ng-view 和 DOM 就是不喜欢一起工作,我是不是漏掉了一些奇怪的东西?或者是否有一种 "Angular" 方法来获取我的 ng-view 中元素的高度而不是使用 DOM?
您不能在元素上调用 getElementById,只有文档支持该功能。
就这样:
setTimeout(function(){
var theView = document.getElementById("myView").getElementsByClassName("container")[0];
}, 10000);