最近在思考一個問題為什么一定要在created中寫this.$on,可以放在mounted中嗎
如果觸發和監聽組件在頁面上都創建了,那么可以放在mounted中
這種情況在實際工作中比較常見,如果在觸發的組件實際觸發之前,監聽組件mouted方法執行了,那么就沒有任何問題
如果觸發和監聽組件在頁面上依次創建,那么要放在created中
放在created中最主要的原因是組件的生命周期執行順序決定的,a是現在的組件,b是即將顯示的組件,那么執行順序是b先created,beforeMount,然后才是a的beforeDestroy,destroyed鈎子執行,b的mounted最后執行,針對這種業務你想一下,你在a的beforeDestroy鈎子中觸發emit,如果在b的mounted中監聽,這時候b的生命周期還沒有執行到那一步所以,你的觸發是不會生效的,所以更通用的情況是放在created鈎子中