Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';在角度方向上,无法获取控制器内部的元素_Javascript_Html_Angularjs - Fatal编程技术网

Javascript Can';在角度方向上,无法获取控制器内部的元素

Javascript Can';在角度方向上,无法获取控制器内部的元素,javascript,html,angularjs,Javascript,Html,Angularjs,我试图在AngularJS控制器中获得如下元素: var imageInput = document.getElementById("myImage"); var myCtrl = function($scope,$window) { Var document = $window.document ... } 它不工作,元素为空。但是,如果我将语句移动到与ng绑定的函数中,请单击,它会工作。为什么?我该如何修复它呢?因为当时没有渲染它。如果您编写了

我试图在AngularJS控制器中获得如下元素:

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年的痛苦和饥饿就会降临到你身上;-)