成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

angular4生命周期鉤子的示例分析

這篇文章主要介紹angular4生命周期鉤子的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

安居網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

理解

Angular提供了生命周期鉤子,把這些關(guān)鍵生命時刻暴露出來,賦予我們在它們發(fā)生時采取行動的能力。可以將鉤子函數(shù)理解為在合適的時候做合適的事情。

鉤子函數(shù)

ng4主要提供了8個鉤子函數(shù):

1、ngOnchanges

@input屬性(輸入屬性)發(fā)生變化時,會調(diào)用。非此屬性,不會調(diào)用。

當(dāng)輸入屬性為對象時,當(dāng)對象的屬性值發(fā)生變化時,不會調(diào)用,當(dāng)對象的引用變化時會觸發(fā)。

先于ngOnInit調(diào)用。

2、ngOnInit

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

3、NgDocheck

每次發(fā)生變更檢測時會被調(diào)用

ngDoCheck() 是Angular中的變更檢測機(jī)制.它由 zone.js 來實現(xiàn)的.其行為是只要你的Angular中的某個組件發(fā)生異步事件.就會檢查整個組件樹,以保證組件屬性的變化或頁面的變化是同步的.所以 ngDoCheck() 的觸發(fā)相當(dāng)頻繁的.并且是我們無法預(yù)料到的.也許我們在頁面上的一個無意識操作,就會觸發(fā)幾個甚至幾十個的 ngDoCheck() 生命周期鉤子.

4、ngAfterContentInit

在組件內(nèi)容初始化之后調(diào)用

5、ngAfterContentChecked

內(nèi)容投影:父組件寫在子標(biāo)簽之間的內(nèi)容會被渲染到子模板的ng-content中去,類似vue的slot

組件及子組件每次檢查內(nèi)容時調(diào)用

當(dāng)父子組件都有該鉤子時,父組件先執(zhí)行。

6、ngAfterViewInt

組件相應(yīng)的視圖初始化之后調(diào)用

7、ngAfterViewChecked

組件及子組件每次檢查視圖時調(diào)用

當(dāng)父子組件都有該鉤子時,子組件先執(zhí)行。

ngAfterViewChecked與ngAfterViewInt中不允許修改綁定的屬性(@input屬性),否則拋出異常

8、ngOnDestory

銷毀,事件解綁。

3.執(zhí)行順序

父組件:

組件模板

<div class="panel-body">
 <input type="text" [(ngModel)]="name">
 {{name}}
  <son [name]="name"></son>
</div>

組件

@Component({
 selector: 'father',
 templateUrl: './father.component.html',
 styleUrls: ['./father.component.scss']
})
export class FatherComponent implements OnInit {
 public name:string;
 constructor() { }
 ngOnInit() {
 console.log("父組件ngOninit");
 }
 ngOnchanges(){
 console.log("父組件ngonchanges");
 }
 ngDoCheck (){
 console.log("父組件ngDocheck")
 }
 ngAfterContentInit(){
 console.log("父組件ngAfterContentInit")
 }
 ngAfterContentChecked(){
 console.log("父組件ngAfterContentChecked")
 }
 ngAfterViewInit(){
 console.log("父組件ngAfterViewInit")
 }
 ngAfterViewChecked(){
 console.log("父組件ngAfterViewChecked")
 }
}

子組件

@Component({
 selector: 'son',
 templateUrl: './son.component.html',
 styleUrls: ['./son.component.scss']
})
export class SonComponent implements OnInit {
 @Input() name:string;
 constructor() { }

 ngOnInit() {
 console.log("子組件ngOninit");
 }
 ngOnChanges (){
 console.log("子組件ngonchanges");
 }
 ngDoCheck (){
 console.log("子組件ngDocheck")
 }
 ngAfterContentInit(){
 console.log("子組件ngAfterContentInit")
 }
 ngAfterContentChecked(){
 console.log("子組件ngAfterContentChecked")
 }
 ngAfterViewInit(){
 console.log("子組件ngAfterViewInit")
 }
 ngAfterViewChecked(){
 console.log("子組件ngAfterViewChecked")
 }
 
}

看打印結(jié)果:

angular4生命周期鉤子的示例分析

當(dāng)在父組件的input中輸入內(nèi)容時,會打印如下結(jié)果:

angular4生命周期鉤子的示例分析

以上是“angular4生命周期鉤子的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:angular4生命周期鉤子的示例分析
分享鏈接:http://jinyejixie.com/article34/ipjhpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站制作、域名注冊、定制網(wǎng)站、ChatGPT、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
崇州市| 永吉县| 富宁县| 太和县| 普陀区| 蕉岭县| 若羌县| 柳林县| 阆中市| 开鲁县| 卢龙县| 中超| 和田县| 环江| 乌鲁木齐市| 依兰县| 建昌县| 澳门| 安新县| 德安县| 龙游县| 延吉市| 婺源县| 喀喇沁旗| 景泰县| 赤水市| 克东县| 梁河县| 南安市| 孟连| 温州市| 乌拉特前旗| 彭阳县| 收藏| 肇州县| 福州市| 汉寿县| 南部县| 名山县| 资阳市| 内江市|