ммммм ... позвольте мне объяснить ситуацию, с которой я встречаюсь.У меня есть родительский компонент с двумя дочерними элементами, который освещает одно и то же событие и выполняет одно и то же . (Коды приведены ниже):
mounted() {
EventBus.$on('edit', (data) => {
console.log('service called')
this.showRightSide(data)
})
},
showRightSide(data) {
console.log(data)
// display right-side operator edit page.
this.$store.commit({
type: 'setShownState',
shown: true
})
// giving operator name & operator type
this.$store.commit({
type: 'setOptName',
optName: data.name
})
this.$store.commit({
type: 'setOptType',
optType: data.type
})
},
смаршрутизатор vue ниже
{
path: '/main',
name: 'Main',
component: Main,
children: [
{ path: 'service', name: 'Service', component: ServiceContent },
{ path: 'model', name: 'Model', component: ModelContent }
]
},
Во время каждого события 'edit' должно быть три коммита, не так ли?
На самом деле.Во-первых, он имеет 3 коммитов.
Но когда я переключаюсь с «/ main / service» на «/ main / model», он делает 6 коммитов во время каждого события «edit» (старый компонент ServiceContent по-прежнему делал 3 коммитаи новый компонент ModelContent предлагает 3 коммита).
когда я возвращаюсь в '/ main / service', 9 коммитов !!!
devtool:
Кажется, что когда изменилось представление маршрутизатора, компонент старого представления все еще может прослушивать событие, как я могу это исправить?(EventBus - просто глобальный экземпляр vue, используемый в качестве шины)