Javascript Can';在角度方向上,无法获取控制器内部的元素
我试图在AngularJS控制器中获得如下元素:Javascript Can';在角度方向上,无法获取控制器内部的元素,javascript,html,angularjs,Javascript,Html,Angularjs,我试图在AngularJS控制器中获得如下元素: var imageInput = document.getElementById("myImage"); var myCtrl = function($scope,$window) { Var document = $window.document ... } 它不工作,元素为空。但是,如果我将语句移动到与ng绑定的函数中,请单击,它会工作。为什么?我该如何修复它呢?因为当时没有渲染它。如果您编写了
var imageInput = document.getElementById("myImage");
var myCtrl = function($scope,$window) {
Var document = $window.document
...
}
它不工作,元素为空。但是,如果我将语句移动到与
ng绑定的函数中,请单击,它会工作。为什么?我该如何修复它呢?因为当时没有渲染它。如果您编写了所有代码,我们将推荐比在controller中使用dom更好的替代方法(这对您没有好处:)正如Karaxuna所说,它还没有被渲染
根据您尝试执行的操作,您可以使用指令将行为添加到元素:
添加一些代码,这样我们可以给您一个更好的答案。不仅它可能没有在您的dom中呈现,而且您还应该在控制器中插入$window
,然后像这样访问文档:
var imageInput = document.getElementById("myImage");
var myCtrl = function($scope,$window) {
Var document = $window.document
...
}
但是,您应该寻找更好的方法来操作DOM,而不是在控制器中进行操作(例如编写指令)我们确实需要更多关于您实际想要实现什么的信息。控制器中的DOM操作完全违背Angular的目标。如果你违反了这个原则,小猫就会死,7年的痛苦和饥饿就会降临到你身上;-)