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