Вы можете использовать emit
Использование emit довольно прямолинейно
Примечание : метод emit('myEmitEvent')
не нацелен только на одноуровневые компоненты, любой компоненткоторый регистрируется для @myEmitEvent
, получит сообщение
<!-- Banner.vue -->
<!-- note that this is not working code, but a means to demonstrate -->
<!-- how to use the 'emit' method -->
<template>
<app>
<img @click="notify" @bannerEvent="subscribe"/>
</app>
</template>
<script>
export default {
methods: {
notify () {
this.$emit('bannerEvent', somePayloadIfYouWant)
},
subscribe (payload) {
console.log(payload)
}
}
}
</script>
Если вы используете хранилище vuex, вы можете использовать его для более косвенной связи, используя свойство computed
, но это немного большепридумано, если вы не используете vuex
store