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

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

Angular學習之聊聊生命周期

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

Angular學習之聊聊生命周期

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

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

那么,在 angular 中,這些 hooks 都有哪些呢?了解它們,對你編寫程序應該在哪里編寫,很重要。【相關教程推薦:《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一区二区
免费一级特黄毛片| 国产视频一区二区视频| 婷婷丁香激情网| 凹凸国产熟女精品视频| 精品久久一二三| 日韩激情免费视频| 日韩欧美一区二| 欧美不卡在线播放| 日韩网站在线免费观看| 欧美大黑帍在线播放| 欧美精品卡一卡二| 免费av观看网址| 亚洲精品一二三四五区| 亚洲天堂2018av| 日本网站在线看| 国产尤物av一区二区三区| 欧美亚洲黄色片| 99999精品视频| 蜜臀视频一区二区三区| 中文字幕1234区| 9色视频在线观看| 免费看国产曰批40分钟| 日韩a在线播放| 一级片免费在线观看视频| 8x8x华人在线| 成人在线免费观看av| 黄大色黄女片18第一次| 国产日本欧美在线| 欧美 日韩 激情| 天美一区二区三区| 69sex久久精品国产麻豆| 天天影视综合色| 亚洲精品免费一区亚洲精品免费精品一区 | 中文字幕精品在线播放| 女人帮男人橹视频播放| 性chinese极品按摩| 免费的一级黄色片| 污污网站免费看| 久久久久久久久久久综合| 人妻有码中文字幕| 99热这里只有精品免费| 亚洲一二三区av| 丰满少妇久久久| 欧美日韩在线免费观看视频| 97xxxxx| 无码粉嫩虎白一线天在线观看 | 久久精品99国产| 中文字幕乱码免费| 777视频在线| 精品久久久久久久久久中文字幕| 三级一区二区三区| 精品免费国产一区二区| 久无码久无码av无码| 异国色恋浪漫潭| 亚洲天堂av一区二区| 国产福利一区视频| www黄色av| 免费观看亚洲视频| 国产精品69页| 成人在线观看你懂的| 8x8ⅹ国产精品一区二区二区| 91极品尤物在线播放国产| 92看片淫黄大片一级| 欧美国产综合在线| 国产又粗又猛又爽又黄的网站| 欧美一级特黄aaa| 午夜国产福利在线观看| 天天操天天干天天做| 性生活免费在线观看| 中文字幕永久有效| 五月婷婷六月丁香激情| 亚洲欧美天堂在线| 手机精品视频在线| 草草草视频在线观看| 国产高清不卡无码视频| 又大又硬又爽免费视频| 国产综合av在线| 中文字幕无码不卡免费视频| 国产精品亚洲a| 91女神在线观看| 三年中文高清在线观看第6集| 91亚洲一区二区| 国产成人免费高清视频| 亚洲美免无码中文字幕在线| 丝袜老师办公室里做好紧好爽 | 亚洲色图久久久| 15—17女人毛片| 91制片厂免费观看| av在线播放亚洲| 黄色片在线免费| 热这里只有精品| 国产亚洲天堂网| 三区视频在线观看| 六月婷婷激情综合| 亚洲一级免费观看| 国产精品入口芒果| 中文字幕中文在线| 野外做受又硬又粗又大视频√| 男人天堂999| 亚洲一二区在线观看| 尤物av无码色av无码| 欧美在线a视频| 久久久免费视频网站| 手机精品视频在线| chinese少妇国语对白| 福利网在线观看| 国产一级做a爰片久久| 欧美黄网在线观看| 日本不卡一区二区在线观看| 国产一级爱c视频| 红桃视频 国产| www日韩在线观看| 国产高清www| 日本一本在线视频| 亚洲精品一二三四五区| 欧美大片在线播放| 国产欧美综合一区| 天天久久综合网| 精品久久久久av| 超碰成人免费在线| 日韩欧美猛交xxxxx无码| 国产原创精品在线| 亚洲最大综合网| 欧美国产日韩在线播放| 欧美日韩一区二区在线免费观看| 欧美性潮喷xxxxx免费视频看| 黄色一级片免费的| 精品综合久久久久| 777一区二区| 日本中文字幕精品—区二区| www.激情小说.com| 日韩一级理论片| www.日本一区| 999在线观看| √天堂资源在线| 超碰97免费观看| 中国黄色录像片| 青青在线免费视频| 国产精品视频一二三四区| 青青视频免费在线| 成人午夜精品久久久久久久蜜臀| 日本a在线天堂| 国产美女网站在线观看| 91国视频在线| 男女啪啪网站视频| 婷婷中文字幕在线观看| 亚洲天堂第一区| 女人和拘做爰正片视频| 亚洲成熟丰满熟妇高潮xxxxx| 熟女少妇精品一区二区| 波多野结衣国产精品| 国产对白在线播放| 国产精品无码av在线播放| 北条麻妃视频在线| 三级网在线观看| 久久视频这里有精品| 国产一区二区三区精彩视频| 一本色道久久亚洲综合精品蜜桃| 五月天开心婷婷| 日韩中文字幕在线免费| 在线观看免费黄网站| 99re6这里有精品热视频| 精品中文字幕av| 日本一级淫片演员| 熟女人妇 成熟妇女系列视频| 久久精品亚洲天堂| 欧美极品欧美精品欧美| 日韩av一卡二卡三卡| 黄页免费在线观看视频| 五月天激情播播| 日本在线xxx| 日本国产一级片| aa在线免费观看| 97超碰免费观看| 自拍偷拍一区二区三区四区| 国产传媒久久久| 亚洲高清在线不卡| 国产福利一区视频| 久草视频国产在线| 久久婷婷中文字幕| 91淫黄看大片| 免费成人午夜视频| 嫩草影院中文字幕| 在线播放av中文字幕| 亚洲欧美激情网| 亚洲熟妇av一区二区三区漫画| 亚洲美女自拍偷拍| 中文字幕66页| 黄大色黄女片18第一次| 日韩免费毛片视频| 欧美一区二区三区爽大粗免费| 久久av喷吹av高潮av| 成人亚洲免费视频| 黄色手机在线视频| 91淫黄看大片| 自拍偷拍一区二区三区四区| 丁香婷婷激情网| 9久久婷婷国产综合精品性色| 久久人妻精品白浆国产| 日本熟妇人妻xxxxx|