[英]element.ready vs angular.element($document).ready
我正在制定一個指令,但我不想使用$document
或$window
,只能使用element
本身。
在我之前:
angular.element($document).ready(function() {...});
並且正在工作,就在幾分鍾前我改變了,並把:
element.ready(function() {...});
它也在工作。
所以,當我說element.ready(function() {...})
時,我告訴Angular在元素<my-directive></my-directive>
准備就緒時運行該函數? 或者我在做什么?
我問這個是因為我想知道,為什么它仍在工作,如果我做element.ready
而不是。
你也不需要。
不需要ready
,因為必須存在元素才能觸發鏈接功能。 此外,沒有元素級別就緒事件...它僅用於文檔級別以考慮存在的整個頁面。 當angular正在編譯指令時,那個階段已經過去了。
您可以在指令的link
函數中直接對element
進行任何操作或事件綁定
在angularjs中, angular.element
是一個jqLite對象
而angular指令中的元素是一個jqLite對象,你不需要再次使用angular.element
進行換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
順便說一下,你不需要准備好因為指令鏈接在元素就緒時調用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.