Я бы порекомендовал создать шину событий.
Это можно сделать следующим образом:
В основном. js добавить
Vue.prototype.$bus = new Vue
В вашем компоненте
this.$bus.$emit('theEventName', data)
Пример шаблона реального мира
<button @click="$bus.$emit('theEventName', data)">Add</button>
Пример реального мира в методах
methods: {
addItem (data) {
this.$bus.$emit('theEventName', data);
}
}
В родительском (или в любом месте приложения) добавьте прослушиватель
beforeCreate () {
this.$bus.$on('theEventName', this.yourMethod);
}
methods: {
yourMethod (data) {
// do your thing
}
}
Не забудьте удалить слушателя
beforeDestroy(){
this.$bus.$off('theEventName', this.yourMethod);
}