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