element.ready vs angular.element($ document).ready

时间:2015-07-13 22:20:01

标签: javascript angularjs

我正在制定一项指令,但我不想与$document$window一起玩,只能使用element本身。

我之前:

angular.element($document).ready(function() {...});

并且正在工作,就在几分钟前我改变了,并且放了:

element.ready(function() {...});

它也在工作。

所以,当我说element.ready(function() {...})时,我告诉Angular在元素<my-directive></my-directive>准备就绪时运行该函数?或者我在做什么?

我问这个是因为我想知道,如果我改为element.ready,为什么它仍在工作。

2 个答案:

答案 0 :(得分:6)

你也不需要。

不需要

ready,因为必须存在元素才能触发链接功能。此外,没有元素级别就绪事件...它仅用于文档级别以考虑存在的整个页面。当angular正在编译指令时,那个阶段已经过去了。

您可以在element指令功能

中立即直接对link进行任何操作或事件绑定

答案 1 :(得分:-3)

在angularjs中,angular.element是一个jqLit​​e对象

angular指令中的元素是一个jqLit​​e对象,你不需要再用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

顺便说一句,你不需要准备好因为指令链接在元素就绪时调用