Angular2生命週期鉤子函式
Angular每個元件都存在一個生命週期,從建立,變更到銷燬。Angular提供元件生命週期鉤子,把這些關鍵時刻暴露出來,賦予在這些關鍵結點和元件進行互動的能力,掌握生命週期,可以讓我們更好的開發Angular應用
概述
每個介面都有唯一的一個鉤子方法,它們的名字是由介面名再加上ng字首構成的。比如,OnInit介面的鉤子方法叫做ngOnInit, Angular在建立元件後立刻呼叫它
生命週期執行順序
ngOnChanges
在有輸入屬性的情況下才會呼叫,該方法接受當前和上一屬性值的SimpleChanges物件。如果有輸入屬性,會在ngOnInit之前呼叫。
ngOnInit
在元件初始化的時候呼叫,只呼叫一次,在第一次呼叫ngOnChanges之後呼叫
ngDoCheck
在元件定義的屬性或方法變更時呼叫(用於髒值之檢測,非常耗效能,因為會把所有的屬性和方法都檢測一遍),會在ngOnChanges()和ngOnInit()之後
ngAfterContentInit
在元件內容初始化之後呼叫,在第一次ngDoCheck之後呼叫,只呼叫一次
ngAfterContentChecked
在元件每次檢查內容放生變更時呼叫。在ngAfterContentInit和每次ngDoCheck之後呼叫
ngAfterViewInit
在元件相應的檢視初始化之後呼叫,第一次ngAfterContentChecked之後呼叫,只呼叫一次
ngAfterViewChecked
在元件每次檢查檢視發生變更時呼叫。ngAfterViewInit和每次ngAfterContentChecked之後呼叫。
ngOnDestroy
在元件銷燬前呼叫,做一些清理工作,比如退訂可觀察物件和移除事件處理器,以免導致記憶體洩漏。
上面程式碼書寫是按順序的,看下面控制檯列印
現在我們鉤子函式的順序打亂,在看看程式碼
控制檯輸出跟上面是一樣的
constructor和ngOnInit
constructor是ES6中class中新增的屬性,當class類例項化的時候呼叫constructor,來初始化類。Angular中的元件就是基於class類實現的,在Angular中,constructor用於注入依賴。
ngOnInit是Angular中生命週期的一部分,在constructor後執行。在Angular中用於初始化變數和資料繫結等
NgChanges
當我們監聽了OnChanges鉤子。 一旦檢測到該元件(或指令)的輸入屬性發生了變化,Agular就會呼叫ngOnChanges()方法
效果演示
DoCheck
當元件中屬性或函式發生變化時DoCheck會執行髒值檢測,遍歷所有變數
效果演示
相關文章
- Vue生命週期鉤子函式Vue函式
- Vue 生命週期與鉤子函式Vue函式
- vue所有生命週期函式/鉤子函式理解Vue函式
- Hive Query生命週期 —— 鉤子(Hook)函式篇HiveHook函式
- Vue 生命週期鉤子Vue
- Nuxt3 的生命週期和鉤子函式(一)UX函式
- Nuxt3 的生命週期和鉤子函式(二)UX函式
- Nuxt3 的生命週期和鉤子函式(三)UX函式
- Nuxt3 的生命週期和鉤子函式(四)UX函式
- Nuxt3 的生命週期和鉤子函式(五)UX函式
- Nuxt3 的生命週期和鉤子函式(六)UX函式
- Nuxt3 的生命週期和鉤子函式(七)UX函式
- Nuxt3 的生命週期和鉤子函式(八)UX函式
- Nuxt3 的生命週期和鉤子函式(九)UX函式
- Nuxt3 的生命週期和鉤子函式(十)UX函式
- Nuxt3 的生命週期和鉤子函式(十一)UX函式
- Vue的鉤子函式[路由導航守衛、keep-alive、生命週期鉤子]Vue函式路由Keep-Alive
- Kubernetes容器生命週期 —— 鉤子函式詳解(postStart、preStop)函式REST
- Vue生命週期鉤子簡介Vue
- Vue 元件生命週期:探索鉤子Vue元件
- Vue例項的生命週期鉤子Vue
- vue生命週期鉤子,一張圖片Vue
- 談談 React 新的生命週期鉤子React
- Angular2 元件生命週期Angular元件
- Vue父子元件生命週期執行順序及鉤子函式的個人理解Vue元件函式
- vue[原始碼]生命週期鉤子的實現Vue原始碼
- 對Angular中的生命週期鉤子的理解Angular
- react的生命週期函式React函式
- Reactv16.8.6生命週期函式React函式
- Vue學習(三)生命週期函式Vue函式
- Vue生命週期函式.個人筆記Vue函式筆記
- VUE3 之 生命週期函式Vue函式
- WINDOWS鉤子函式(轉)Windows函式
- VC:滑鼠鉤子函式函式
- React從入門到精通系列之(5)state管理和生命週期鉤子React
- ReactNative入門教程-元件生命週期函式React元件函式
- React16 生命週期函式深入淺出React函式
- 小程式的生命週期函式(簡單易懂)函式