AngularJs的生命週期

AngularJs的生命週期分爲六個階段

  1. 編譯:AngularJs會遍歷瀏覽器提供的dom樹,嘗試參照已註冊的指令集來匹配每個元素、屬性、註釋和css類。每當匹配一個指令時,ag就會調用該指令的編譯函數,該函數返回一個連接函數,ag會收集所有的連接函數。
  2. 鏈接:一旦所有指令被編譯完成,AngularJs就會創建作用域,然後通過調用每個指令對應的鏈接函數將指令和作用域連接起來。
  3. 註冊監視:作用域一旦生成,指令就會在它身上註冊一個監視,就是我們平時用到的$scope.$watch(),顧名思義監視數據有沒有變化
  4. 模型變化:這個時候一旦模型發生了變化,會執行用戶自己定義的回調函數。其中關鍵的是,在模型發生變化時,如何從瀏覽器的js環境進入到angular的環境中操作在ag模型上的數據,此時,ag會調用一個內置指令$scope.$apply,這樣就能進去ag的環境。
  5. 觀察:在這個階段會啓動髒檢測機制,先檢測根scope,然後傳播到所有的子作用域上,這個時候檢測到變化就會執行監聽函數$watch的回調函數。
  6. 摧毀:當我們不需要一個作用域,需要將它移除掉。原則是誰創建的誰摧毀,使用的方法是$scope.$destroy()。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章