比如說現(xiàn)在有一個(gè)下拉框組件,它需要初始化里面的內(nèi)容。組件內(nèi)部有個(gè)init方法可以獲取內(nèi)容數(shù)據(jù)。應(yīng)該在父組件上用$refs.xxx.init()調(diào)用,還是子組件直接在created或mounted里調(diào)用?($refs.xxx.init()調(diào)用的話,用異步函數(shù)父組件可以知道什么時(shí)候初始化結(jié)束,而直接created中執(zhí)行,也可以通過$emit自定義事件讓父組件知道初始化結(jié)束)這兩者有什么優(yōu)劣嗎?假設(shè)父組件里除了A這個(gè)下拉框組件,還有另外一個(gè)B組件也需要初始化,父組件需要等兩個(gè)子組件都初始化結(jié)束后進(jìn)行后續(xù)操作,如果A和B兩個(gè)組件都是在父組件上(通過$refs.xxx.init())調(diào)用各自的init方法,實(shí)現(xiàn)起來很簡單。但是如果都是在各自的created上初始化并用$emit拋出,父組件應(yīng)該怎么判斷兩個(gè)子組件都初始化完了呢?(父組件內(nèi)部定義一個(gè)計(jì)數(shù)器,在捕獲到事件觸發(fā)時(shí)+1嗎?然后2的時(shí)候執(zhí)行后續(xù)操作?)我不知道自己的思路是不是有問題,求指正
vue組件的初始化應(yīng)該在組件內(nèi)部還是父組件調(diào)用?
泛舟湖上清波郎朗
2018-10-24 20:53:29