鍍金池/ 問答/HTML5  HTML/ 關(guān)于angular初始化信息的問題?

關(guān)于angular初始化信息的問題?

clipboard.png

三種初始化
1.定義的時(shí)候初始化
2.在構(gòu)造器中初始化
3.在ngOnInit中初始化
這三種的區(qū)別是什么?一般在什么情況下使用哪種初始化?頁(yè)面渲染是三種初始化的執(zhí)行順序是什么?

回答
編輯回答
不舍棄

1只是2的語(yǔ)法糖,編譯后都在構(gòu)造器內(nèi)執(zhí)行

ngOnInit會(huì)在constructor之后執(zhí)行,并且ngOnInit執(zhí)行時(shí)組件已經(jīng)構(gòu)造完畢,你可以取得組件的屬性,比如那些通過@Input輸入的;而constructor執(zhí)行時(shí)組件還在構(gòu)造,幾乎所有屬性都是沒有值的

從開發(fā)角度來說,一般在constructor中執(zhí)行一些固定值的賦值(比如你圖中的headerSlides);而ngOnInit中會(huì)執(zhí)行一些初始化邏輯,比如請(qǐng)求服務(wù)器取得初始化數(shù)據(jù)

2018年5月17日 19:49