我正在制定一项指令,但我不想与$document
或$window
一起玩,只能使用element
本身。
我之前:
angular.element($document).ready(function() {...});
并且正在工作,就在几分钟前我改变了,并且放了:
element.ready(function() {...});
它也在工作。
所以,当我说element.ready(function() {...})
时,我告诉Angular在元素<my-directive></my-directive>
准备就绪时运行该函数?或者我在做什么?
我问这个是因为我想知道,如果我改为element.ready
,为什么它仍在工作。
答案 0 :(得分:6)
你也不需要。
不需要 ready
,因为必须存在元素才能触发链接功能。此外,没有元素级别就绪事件...它仅用于文档级别以考虑存在的整个页面。当angular正在编译指令时,那个阶段已经过去了。
您可以在element
指令功能
link
进行任何操作或事件绑定
答案 1 :(得分:-3)
在angularjs中,angular.element
是一个jqLite对象
angular指令中的元素是一个jqLite对象,你不需要再用angular.element
例如在此代码中所有元素都相同
var element1 = angular.element( document.getElementById('test') ); // a jqLite object
var element2 = angular.element( element1 ); // same jqLite object
var element3 = angular.element( element2 ); // same jqLite object
顺便说一句,你不需要准备好因为指令链接在元素就绪时调用