gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

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

Angular學習之聊聊生命周期

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

Angular學習之聊聊生命周期

接觸過 reactvue 開發的讀者應該對生命周期這個概念不陌生。我們在使用 angular 開發的過程中,是避免不了的。

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

那么,在 angular 中,這些 hooks 都有哪些呢?了解它們,對你編寫程序應該在哪里編寫,很重要?!鞠嚓P教程推薦:《angular教程》】

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號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
波多野结衣国产精品| 九色91popny| 永久免费黄色片| 日本人视频jizz页码69| 免费无码国产v片在线观看| 91看片淫黄大片91| 黄色一级片黄色| 国产传媒久久久| 日韩一二区视频| 国产精品国产三级国产专区51| 一级黄色片在线免费观看| 中文字幕亚洲欧洲| av不卡在线免费观看| 99中文字幕在线| 亚洲区成人777777精品| 国产精品视频一二三四区| 热这里只有精品| 怡红院av亚洲一区二区三区h| www.avtt| 8x8x最新地址| 色哟哟免费网站| 97超碰国产精品| aaa毛片在线观看| 又色又爽又黄视频| www.av毛片| 亚洲无吗一区二区三区| 国产一级大片免费看| 乱妇乱女熟妇熟女网站| gai在线观看免费高清| 白白操在线视频| www.com操| 国产精品久久中文字幕| 一区二区三区 欧美| 男人天堂a在线| 狠狠操狠狠干视频| 3d动漫一区二区三区| 国产成年人视频网站| 人人妻人人做人人爽| www.污污视频| 欧美 国产 日本| 成人区一区二区| 亚洲黄色av片| 国产wwwxx| 国产99久久九九精品无码| 四虎精品欧美一区二区免费| 天天色综合天天色| 免费男同深夜夜行网站| 日本大片免费看| 中文字幕在线视频一区二区三区| 老太脱裤子让老头玩xxxxx| 在线视频日韩欧美| 91小视频网站| 亚洲最大综合网| 能在线观看的av| 成人免费在线网| a级黄色片免费| 2022中文字幕| www.男人天堂网| 国产一级不卡视频| 美女扒开大腿让男人桶| 国产内射老熟女aaaa| 久久久成人精品一区二区三区| 污视频网站观看| 亚洲精品性视频| 在线观看日本www| www.午夜色| 一本之道在线视频| 国产在线视频三区| 青青草影院在线观看| 穿情趣内衣被c到高潮视频| 久久久成人精品一区二区三区| www.桃色.com| 免费在线黄网站| 免费国产黄色网址| www.com毛片| 在线观看的毛片| 毛片毛片毛片毛| 91制片厂免费观看| 性一交一乱一伧国产女士spa| 无码中文字幕色专区| 116极品美女午夜一级| 午夜免费福利在线| 中文字幕av导航| 欧美一级片免费播放| aa在线免费观看| 小早川怜子一区二区三区| 国产一二三四区在线观看| 亚洲国产精品无码观看久久| 日本一区二区黄色| 五月激情婷婷在线| 国产3p露脸普通话对白| 国产1区2区在线| 亚洲欧美日韩网站| 日韩免费视频播放| 日韩欧美国产片| 91九色丨porny丨国产jk| 成人在线激情网| 国产91porn| 在线观看的毛片| 国精产品一区一区三区视频| 冲田杏梨av在线| 日韩精品xxxx| av中文字幕av| 福利视频999| 可以免费在线看黄的网站| www.69av| 国产高清免费在线| 免费黄色一级网站| 日韩小视频在线播放| 可以在线看黄的网站| 久久撸在线视频| 日日碰狠狠躁久久躁婷婷| www.日本三级| 欧美日韩在线免费观看视频| 1024av视频| 给我免费播放片在线观看| 偷拍盗摄高潮叫床对白清晰| 日日噜噜噜噜久久久精品毛片| 国产精品无码一区二区在线| 91制片厂免费观看| 偷拍盗摄高潮叫床对白清晰| 99sesese| 一二三av在线| 欧美又黄又嫩大片a级| 亚洲免费黄色网| www.com黄色片| 色婷婷成人在线| 五月花丁香婷婷| 日韩在线第三页| 亚洲中文字幕无码不卡电影| 六月丁香激情网| 丝袜老师办公室里做好紧好爽| 日本午夜激情视频| 日韩免费视频播放| 黄色片视频在线播放| aaa毛片在线观看| 性欧美极品xxxx欧美一区二区| 日本黄网站免费| 一本一道久久a久久综合蜜桃| jizzzz日本| 特色特色大片在线| 欧美狂野激情性xxxx在线观| 日韩精品在线视频免费观看| 久久久久久久久久网| 男人用嘴添女人下身免费视频| 18岁网站在线观看| 五月婷婷六月合| 亚欧美一区二区三区| 91精品国产91久久久久麻豆 主演| 少妇av一区二区三区无码| 成人亚洲视频在线观看| 日本中文字幕二区| 免费cad大片在线观看| 国产精品-区区久久久狼| 依人在线免费视频| 草草草视频在线观看| 成年人午夜视频在线观看| 午夜精品久久久内射近拍高清| 岛国av免费在线| 全黄性性激高免费视频| 中文字幕一区二区三区四区在线视频| 亚洲高清在线不卡| 国产日韩一区二区在线| www.色就是色.com| 欧美在线观看成人| a级网站在线观看| www.色偷偷.com| 欧美中文字幕在线观看视频 | 欧美精品第三页| 精产国品一二三区| 无码人妻h动漫| 黄色成人在线免费观看| 亚洲一级片网站| 欧美日韩第二页| 欧美视频免费看欧美视频| 91pony九色| 欧美 日韩 国产 激情| 嫩草影院中文字幕| 成人性生交免费看| 少妇性l交大片| 成人性生活视频免费看| 熟女熟妇伦久久影院毛片一区二区| 浮妇高潮喷白浆视频| 大片在线观看网站免费收看| 五月婷婷丁香色| 99视频在线视频| 18岁视频在线观看| 欧美 国产 小说 另类| 国产原创中文在线观看| 国产91沈先生在线播放| 久久99国产精品一区| 日日噜噜噜夜夜爽爽| 亚洲精品永久视频| 国产农村妇女精品久久| 欧美视频国产视频| 在线观看日本www| mm131午夜| 4444亚洲人成无码网在线观看| 日本一级黄视频| 日韩中文字幕在线免费|