[英]AngularJS and $rootScope
我試圖了解Angular中scopes
的生命周期,並且想知道是否使用$rootScope.$on
或$rootScope.$watch
是否超出范圍(傳統意義上)?
Angular有沒有任何類型的垃圾收集或類似的東西?
你是否擔心釋放對象($ scopes)?
簡短而高雅的答案是angular檢查你的模塊( angular.module('myapp')
)來創建一個復雜的依賴樹。 然后解析DOM以識別“ng”標簽或其他自定義指令,這些指令經歷編譯階段(構建自定義HTML)和鏈接階段(生成范圍並將其附加到該元素)。 這大約是真實情況的1/100,但這是一個開始。
Angular確實執行垃圾收集,但幾乎所有這些都發生在幕后。 當計划刪除$ scope時,它做的最后一件事就是觸發$ scope。$ destroy(),你可以用$scope.$on('$destroy', function() { .. })
掛鈎$scope.$on('$destroy', function() { .. })
執行任何清理。 然后,在大多數情況下,你不必擔心清理或“釋放”任何東西,因為角度也會照顧到它。
:編輯:
我也偶然發現了這個問題,這最好地解釋了它 - 理解范圍 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.