我试图在AngularJS控制器中获取一个元素,如下所示:
var imageInput = document.getElementById("myImage");
它不起作用,元素为null。但是,如果我将语句移动到我与ng-click
绑定的函数,它就可以工作。为什么?以及如何修复它?
答案 0 :(得分:0)
因为那时候没有渲染。如果你编写所有代码,我们会建议比在控制器中使用dom更好的选择(这对你没有好处:))
答案 1 :(得分:0)
就像卡拉克斯纳说的那样,尚未呈现。
根据您要执行的操作,您可以使用指令向元素添加行为:http://docs.angularjs.org/guide/directive。
添加一些代码,以便我们为您提供更好的答案。
答案 2 :(得分:0)
不仅可能没有在你的dom中渲染,而且你应该在你的控制器中注入$window
,然后像这样访问文档:
var myCtrl = function($scope,$window) {
Var document = $window.document
...
}
但你应该寻求一种更好的方法来操纵你的DOM,而不是在你的控制器中这样做(例如写一个指令)