我有具有多個子組件有沒有辦法捕捉vuejs中的多個子組件發出的事件?
<grid>
<cell></cell>
<cell></cell>
<cell></cell>
</grid>
我的電池組件發出與有效載荷事件說它正在編輯 this.$emit('editing',cellId)
我知道我可以捕獲事件像 <cell @editing="do something"></cell>
或捕獲父組件使用EventBus.$on('editing')
,我不想使用根偵聽器以及this.$root.$on('editing')
但是因爲它的父組件,我怎麼能聽'edi事件ting'當父組件安裝時
mounted: function(){
this.$on('editing',dosomething)
}
爲什麼我無法在父組件加載時添加監聽?
您的「掛載」功能正在監聽父組件上的事件。子組件自行發出事件。你的目標是什麼,爲什麼你不想做''事件處理的形式? –
|
我對你的目標有點不清楚。如果可能,請澄清你的目標。但是如果你想在父組件中監聽'edit'事件,你可以在掛載的鉤子中使用EventBus:'EventBus。$ on('editing')' – ironcladgeek
我想從概念上理解這一點以及子中的事件是如何工作的。我所知道的最好的方法是'<細胞@editing =「...」'不使用eventBus或發射到$根 所以是什麼'mounted'聽和監聽組件之間的區別'@ editing' – Masade