Angular學習筆記 Angular生命週期

2021-09-25 05:49:27 字數 1304 閱讀 1406

生命週期函式通俗的講就是元件建立、元件更新、元件銷毀的時候會觸發的一系列的方法。當 angular 使用建構函式新建乙個元件或指令後,就會按下面的順序在特定時刻呼叫這些生命週期鉤子方法。

當 angular 使用建構函式新建乙個元件或指令後,就會按下面的順序在特定時刻呼叫這些生命週期鉤子方法:

鉤子用途及時機

ngonchanges()

@input屬性(輸入屬性)發生變化時,會呼叫。非此屬性,不會呼叫。當輸入屬性為物件時,當物件的屬性值發生變化時,不會呼叫,當物件的引用變化時會觸發。先於ngoninit()呼叫。

ngoninit()

只執行一次,dom操作可放在其中。(最常用)

ngdocheck()

每次發生變更檢測時會被呼叫

ngdocheck()

是angular中的變更檢測機制.它由 zone.js 來實現的.其行為是只要你的angular中的某個元件發生非同步事件.就會檢查整個元件樹,以保證元件屬性的變化或頁面的變化是同步的.所以ngdocheck()的觸發相當頻繁的.並且是我們無法預料到的.也許我們在頁面上的乙個無意識操作,就會觸發幾個甚至幾十個的ngdocheck()生命週期鉤子.

ngaftercontentinit()

在元件內容初始化之後,ngdocheck()之後呼叫,只呼叫一次。

ngaftercontentchecked()

內容投影:父元件寫在子標籤之間的內容會被渲染到子模板的ng-content中去,類似vue的slot,元件及子元件每次檢查內容時呼叫,當父子元件都有該鉤子時,父元件先執行。

ngafterviewinit()

當 angular 初始化完元件檢視及其子檢視之後呼叫。第一次ngaftercontentchecked()之後呼叫,只呼叫一次。

ngafterviewchecked()

ngafterviewinit()和每次ngaftercontentchecked()之後呼叫。當父子元件都有該鉤子時,子元件先執行。ngafterviewchecked()ngafterviewint中不允許修改繫結的屬性(@input屬性),否則丟擲異常

ngondestroy()

每當 angular 每次銷毀指令/元件之前呼叫並清掃。 在這兒反訂閱可觀察物件和分離事件處理器,以防記憶體洩漏。在 angular 銷毀指令/元件之前呼叫。

Angular學習筆記

1.nodejs 2.npm 3.cnpm 4.yarn 4.vscode 1.建立專案的 命令 ng new project name style scss 引數 style 使用的css型別,可以是css,sacc,scss,less,預設值是css 2.初始化node modules 命令 1...

angular學習筆記

時隔一年之後重新學習angularjs,感慨良多。去年剛剛接觸web程式設計的時候,朋友告訴我angularjs很好用,於是在僅僅了解html和css開始學習angularjs,困難程度可想而之,而且並不明白其價值,武斷的認為通過服務端可以不需要angular之類的工具解決所有問題。一年之後,對js...

Angular 學習筆記 1

angular 是乙個興起的框架,還在不斷更新中,可能會出 2.0 版本。特點是易測試,雙向繫結,使用模板,能夠大幅度減少 量。因為其模組的思想,構建元件也很容易,可以到 ngmodules.org 上去尋找需要的模組。最簡單的例子 boostrap 方法決定了從何處開始將 html 作為 angu...