成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

一文聊聊Angular中的生命周期

使用angular進行開發時,避免不了需要接觸生命周期,下面本篇文章就來帶大家一起聊聊Angular中的生命周期,希望對大家有所幫助!

一文聊聊Angular中的生命周期

接觸過 reactvue 開發的讀者應該對生命周期這個概念不陌生。我們在使用 angular 開發的過程中,是避免不了的?!鞠嚓P教程推薦:《angular教程》】

組件從開始建立到銷毀的過程中,會經歷過一系列的階段。這就是一個生命周期,這些階段對應著應用提供的 lifecycle hooks。

那么,在 angular 中,這些 hooks 都有哪些呢?了解它們,對你編寫程序應該在哪里編寫,很重要。

angular 中,生命周期執行的順序如下:

- constructor 【常用,不算鉤子函數,但是很重要】 - ngOnChanges【常用】 - ngOnInit【常用】 - ngDoCheck   - ngAfterContentInit   - ngAfterContentChecked   - ngAfterViewInit【常用】   - ngAfterViewChecked - ngOnDestroy【常用】

為了解說和驗證,我們用 angular-cli 生成一個 demo 項目。

constructor

es6 中的 class 初始化對象的時候,constructor 會立即被調用。

class Person {   constructor(name) {     console.log('be called')     this.name = name;   } }  let jimmy = new Person('jimmy'); // be called

angular 的組件本身就是導出一個類。當這個組件被 new 起來的時候,會獲取 constructor 中的預設的值。

ngOnChanges

當我們有外部參數更改的時候,我們就會執行 ngOnChanges,也就是說組件中有 @Input 所綁定的屬性值發生改變的時候調用。

簡單說,父組件綁定子組件中的元素,會觸發這個鉤子函數,可以多次出發。這在下面的 ngOnInit 總會介紹。

ngOnInit

這個方法調用的時候,說明組件已經初始化成功。在第一次 ngOnChanges() 完成之后調用,且只調用一次。

// app.component.ts export class AppComponent implements OnInit, OnChanges {    constructor() {     console.log('1. constructor')   }    ngOnChanges() {     console.log('2. ngOnChanges')   }    ngOnInit() {     console.log('3. ngOnInit')   } }

打印的信息如下:

一文聊聊Angular中的生命周期

咦?怎么沒有打印 ngOnChanges 中的鉤子函數信息呢?

上面已經說過了,需要觸發條件 @Input 的屬性值改變的時候。我們來修改一下:

<!-- app.component.html --> <div>   <app-demo></app-demo> </div>
// app.component.ts // AppComponent 類中添加屬性 public count:number = 0;
<!-- demo.component.html --> <h3>count: {{ count }}</h3>
// demo.component.ts export class DemoComponent implements OnInit, OnChanges {    @Input()   public count: number;    constructor() {     console.log('1. demo constructor')   }    ngOnChanges() {     console.log('2. demo ngOnChanges')   }    ngOnInit() {     console.log('3. demo ngOnInit')   }  }

一文聊聊Angular中的生命周期

當通過 @Input 將值傳遞給子組件 demo 的時候,就會觸發 demo 組件中的 ngOnChanges。

@Input 傳遞的屬性發生改變的時候,可以多次觸發 demo 組件中的 ngOnChanges 鉤子函數。

<!-- app.component.html --> <div>   <app-demo [count]="count"></app-demo>    <button (click)="parentDemo()">parent button</button> </div>
// app.component.ts parentDemo() {   this.count++; }

一文聊聊Angular中的生命周期

ngDoCheck

當發生變化檢測的時候,觸發該鉤子函數。

這個鉤子函數,緊跟在每次執行變更檢測時候 ngOnChanges 和首次執行執行變更檢測時 ngOnInit 后面調用。

// demo.component.ts  ngDoCheck() {   console.log('4. demo ngDoCheck') }

一文聊聊Angular中的生命周期

這個鉤子函數調用得比較頻繁,使用成本比較高,謹慎使用。

一般使用 ngOnChanges 來檢測變動,而不是 ngDoCheck

ngAfterContentInit

當把外部的內容投影到內部組件,第一次調用 ngDoCheck 之后調用 ngAfterContentInit,而且只調用一次。

// demo.component.ts  ngAfterContentInit() {   console.log('5. demo ngAfterContentInit'); }

一文聊聊Angular中的生命周期

ngAfterContentChecked

ngAfterContentChecked 鉤子函數在每次 ngDoCheck 之后調用.

// demo.component.ts  ngAfterContentChecked() {   console.log('5. demo ngAfterContentChecked'); }

一文聊聊Angular中的生命周期

ngAfterViewInit

視圖初始化完成調用此鉤子函數。在第一次 ngAfterContentChecked 之后調用,只調用一次。

這個時候,獲取頁面的 DOM 節點比較合理

// demo.compoent.ts  ngAfterViewInit() {   console.log('7. demo ngAfterViewInit'); }

一文聊聊Angular中的生命周期

ngAfterViewChecked

視圖檢測完成調用。在 ngAfterViewinit 后調用,和在每次 ngAfterContentChecked 之后調用,也就是在每次 ngDoCheck 之后調用。

// demo.component.ts  ngAfterViewChecked() {   console.log('8. ngAfterViewChecked') }

一文聊聊Angular中的生命周期

ngOnDestroy

組件被銷毀時候進行的操作。

在這個鉤子函數中,我們可以取消訂閱,取消定時操作等等。

<!-- app.component.html --> <app-demo [count]="count" *ngIf="showDemoComponent"></app-demo>  <button (click)="hideDemo()">hide demo component</button>
// app.component.ts public showDemoComponent: boolean = true;  hideDemo() {   this.showDemoComponent = false }
// demo.component.ts ngOnDestroy() {   console.log('9. demo ngOnDestroy') }

一文聊聊Angular中的生命周期

PS: 不知道讀者有沒有發現,調用一次的鉤子函數都比較常用~

【完】

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲AV熟女高潮30P| 亚洲AV嫩草AV极品在线观看| 偷拍与自偷拍亚洲精品| 无人区一码一码二码三码区别| 无码一区二区三区AⅤ免费蜜桃视| 性色A码一区二区三区天美传媒 | 国产精品福利一区二区久久| 国产精品国产三级国产AV′| 国精产品一区一区三区M| 久久国产精品无码HDAV| 免费人成网WW555KKK在线| 欧美人与动欧交视频| 色欲AV久久一区二区三区久| 午夜无码伦费影视在线观看果冻| 亚洲国产精品久久艾草| 在线成本人国语视频动漫| 锕锕锕锕锕锕好爽视频软件| 国产妇女馒头高清泬20P多| 精产国品一二三产品区别在| 免费极品AV一视觉盛宴| 日韩一区二区三区视频| 亚洲AV日韩AV综合AⅤXXX| 尤物AV无码色AV无码| 波多野结衣AV中文一区二区三区 | 久久久久亚洲AV无码六十路老熟| 欧美极品少妇XXXXⅩ| 天天躁夜夜躁狠狠是什么心态| 亚洲AV无码成人精品区蜜桃 | 老太太BGMBGMBGM性| 人人玩人人添人人澡| 性色AV无码中文AV有码VR| 中国97在线 | 免费| 成人精品一区二区三区在线观看 | 午夜男女爽爽影院_性夜影院 | 夜夜骚Av一区二区精品无码区| YY8男人的天堂| 国产美熟女乱又伦AV果冻传媒| 久久精品国产久精国产| 欧美最猛黑人XXXXWWW| 亚洲AⅤ无码牛牛影视| 1000部又爽又黄无遮挡的视频| 动漫精品视频一区二区三区| 精品无码人妻一区二区三区18| 漂亮人妻被强中文字幕久久| 午夜亚洲AⅤ无码高潮片| 中文字幕乱码一区二区免费 | 97久久精品午夜一区二区| 国产成人精品999在线观看| 久久棈精品久久久久久噜噜| 色天使亚洲综合一区二区| 亚洲熟妇色XXXXX高潮喷水| 成年无码AV片完整版| 精品国产自产自在线观看蜜桃| 人妻熟妇乱又伦精品视频| 亚洲国产精品无码久久久秋霞1| 97久久精品无码一区二区| 国产精品无码久久综合| 牛鞭擦进少妇的下身| 亚洲AV电影天堂男人的天堂| AJ四色鸳鸯真假区别| 狠狠色丁香婷婷亚洲综合 | 香蕉久久一区二区不卡无毒影院| 中文字幕乱妇无码AV在线| 国产精品国产三级国产专区50 | 久久精品囯产精品亚洲| 色狠狠AV一区二区三区| 一边亲着一面膜下奶怎么回事| 公交车强摁做开腿呻吟| 免费女人18毛片A毛片视频| 亚洲A∨精品无码一区二区| M豆传媒有限公司观看| 精品亚洲卡一卡2卡三卡乱码| 深夜A级毛片催情精视频免费 | 欧美极品少妇XXXXⅩ另类| 亚洲丰满性熟妇ⅩXXOOO| 大帝AV在线一区二区三区| 美国五月婷婷毛片| 午夜无遮挡男女啪啪免费软件 | 黄动漫车车好快的车车哔哩哔哩 | 亚洲VA久久久噜噜噜久久无码| 潮喷大喷水系列无码| 浪货两个都满足不了你J视频| 午夜私人电影院在线观看| 暴躁老阿姨CSGO| 巨爆乳寡妇中文在线观看| 性少妇JAPANESEXXXX| 粗大挺进亲女H晓晓| 女角色翻白眼流口水流眼泪图片 | 免费观看潮喷到高潮| 亚洲国产AⅤ精品一区二区百度| 成人亚洲AV网站在线看AAAA| 男吃奶玩乳尖高潮视频午夜I| 亚洲码与欧洲码一二三四区别| 国产精品久久久久乳精品爆| 琪琪777午夜理论片在线观看播 | 亚洲А∨天堂久久精品PPYPP| 丰满人妻一区二区三区免费视频| 欧美丰满少妇内射XXXX免费| 亚洲色欲色欲大片WWW无码| 国产麻豆精品一区| 少妇高潮一区二区三区99| BBWBBW肥妇BBWBBW| 蜜桃AV一区二区三区| 亚洲同性猛男毛片| 国产色XX群视频射精| 天天爽狠狠噜天天噜日日噜| 成人无码精品1区2区3区免费看| CHINSEFUCKGAY无套| 国产免费一区二区三区不卡| 久久久久亚洲AV成人网址| 色欲老女人人妻综合网| YOUJIZZ丰满熟妇| 久久久中精品2020中文| JAPANESE酒醉侵犯| 国产又粗又猛又黄又爽无遮挡| 我半夜摸妺妺的奶摸到高潮 | 亚洲精品国产精品乱码不99| 国产又粗又猛又爽又黄的网站 | 中文无码久久精品| 久久综合综合久久综合| 亚洲中文字幕乱码AV波多JI| 精东视频影视传媒制作| 亚洲国产成人精品无码一区二区| 国内精品伊人久久久久AV| 亚洲AV无码国产精品色午夜| 国产无人区码一码二码三MBA| 午夜精品一区二区三区在线观看 | 一本一本久久A久久综合精品| 久久ER99热精品一区二区| 亚洲日韩高清AⅤ在线观看| 久久99成人精一区二区三区 | 美女MM131爽爽爽| 中文字幕一区二区三区久久网站| 满18岁夜里禁用100款APP| 中文字幕韩国三级理论无码| 男女一起差差差差差| 18禁裸乳啪啪无遮裆网站| 妺妺自愿做我的性玩具| DIPTYQUE含羞草香薰| 人妻无码不卡在线视频| 成熟丰满熟妇偷拍XXXXX| 少妇三级全黄在线播放| 国产精品人人爽人人做我的可爱 | 日日噜噜夜夜爽爽| 国产JJIZZ女人多水| 午夜三级A三级三点自慰| 韩国三级大全久久网站| 亚洲色精品一区二区三AI女星| 久久久婷婷五月亚洲97号色| 中文字幕乱码人在线视频1区| 欧美粗大猛烈老熟妇| 宝贝把腿张开我要添你下边动态图 | 舌头伸进去添的我好爽高潮电影 | JIZZJIZZJIZZ日本| 日本无吗无卡V免费清高清| 国产成人高清精品亚洲| 掀开老师的裙子挺进去| 精品欧美一区二区在线观看| 又大又粗进出白浆直流视频在线| 年轻漂亮的女邻居观看在线视频| Xx性欧美肥妇精品久久久久久久久 | 免费A级毛片无码无遮挡内射| S货叫大点声C烂你的SB视频| 搡老女人老91妇女老熟女oo| 国产精品国产三级国产专I| 亚洲第一极品精品无码久久| 浪货两个都满足不了你J视频| А√天堂资源最新版在线官网| 双方夫妻一起互动交流做| 国产亚洲精品美女久久久| 艳MU无删减在线观看免费无码| 欧美JIZZ18性欧美| 疯狂做受XXXX高潮欧美日本| 亚洲AV成人无码久久精品澳门| 精品无码日韩国产不卡AV| 97久久超碰国产精品2021| 色一情一乱一伦一视频免费看| 国产在线观看精品一区二区三区| 伊人久久大香线蕉亚洲五月天| 亲生乖女好紧H下| 国产风流老太婆大BBBHD视频| 亚洲色大成网站WWW看下面 | XXXXX18日本人HDXX| 午夜亚洲国产理论片中文飘花 | 国产精品综合一区二区三区| 野花日本大全免费观看3中文版| 人妻 日韩精品 中文字幕| 国产无遮挡又黄又爽在线观看| 又爽又黄又无遮挡的视频| 日韩系列中文无码| 久久99热精品免费观看| 把腿扒开让我舔免费视频| 亚洲AV无码成人精品区在线播放| 免费无遮挡禁18污污网站| 国产成人无码AⅤ片在线观看你| 亚洲午夜性春猛交XXXX偷窥| 欧洲亚洲国产成人综合色婷婷| 国产熟女乱子视频正在播放| 2021无码专区人妻系列日韩| 无码人妻丰满熟妇区96|