Angular作為目前最為流行的前端框架,受到了前端開(kāi)發(fā)者的普遍歡迎。不論是初學(xué)Angular的新手,還是有一定Angular開(kāi)發(fā)經(jīng)驗(yàn)的開(kāi)發(fā)者,了解本文中的12個(gè)經(jīng)典面試問(wèn)題,都將會(huì)是一個(gè)深入了解和學(xué)習(xí)Angular 2的知識(shí)概念的絕佳途徑。
在文中,我們將會(huì)接觸到很多Angular 2的重要概念,并附擴(kuò)展閱讀資料和自查小測(cè)試,供大家評(píng)估自己對(duì)Angular的了解程度。
Angular 經(jīng)典問(wèn)題及擴(kuò)展閱讀
1. 請(qǐng)解釋Angular 2應(yīng)用程序的生命周期hooks是什么?
Angular 2組件/指令具有生命周期事件,是由@angular/core管理的。@angular/core會(huì)創(chuàng)建組件,渲染它,創(chuàng)建并呈現(xiàn)它的后代。當(dāng)@angular/core的數(shù)據(jù)綁定屬性更改時(shí),處理就會(huì)更改,在從DOM中刪除其模板之前,就會(huì)銷(xiāo)毀掉它。Angular提供了一組生命周期hooks(特殊事件),可以被分接到生命周期中,并在需要時(shí)執(zhí)行操作。構(gòu)造函數(shù)會(huì)在所有生命周期事件之前執(zhí)行。每個(gè)接口都有一個(gè)前綴為ng的hook方法。例如,ngOnint界面的OnInit方法,這個(gè)方法必須在組件中實(shí)現(xiàn)。
一部分事件適用于組件/指令,而少數(shù)事件只適用于組件。
ngOnChanges:當(dāng)Angular設(shè)置其接收當(dāng)前和上一個(gè)對(duì)象值的數(shù)據(jù)綁定屬性時(shí)響應(yīng)。
ngOnInit:在第一個(gè)ngOnChange觸發(fā)器之后,初始化組件/指令。這是最常用的方法,用于從后端服務(wù)檢索模板的數(shù)據(jù)。
ngDoCheck:檢測(cè)并在Angular上下文發(fā)生變化時(shí)執(zhí)行。每次更改檢測(cè)運(yùn)行時(shí),會(huì)被調(diào)用。
ngOnDestroy:在Angular銷(xiāo)毀指令/組件之前清除。取消訂閱可觀察的對(duì)象并脫離事件處理程序,以避免內(nèi)存泄漏。<