【发布时间】:2017-08-23 06:18:35
【问题描述】:
我可能还不想使用 vuex 进行状态管理,因为它现在可能有点过分了。 我看了一下https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication。我使用的是单个文件组件,所以我不确定在哪里定义共享总线,以便两个组件都引用它。
var bus = new Vue()
ChildA.Vue
watch: {
sideNav: (newValue) => {
bus.$emit('sideNav-changed', newValue)
}
}
ChildB.Vue
created () {
bus.$on('sideNav-changed', data => {
console.log(`received new value: ${data}`)
// update own copy here
})
}
Parent.Vue
<template>
<childA>
</childA>
<childB>
</childB>
</template>
我想观察 ChildA 上 sideNav 的任何变化并将其发送给 ChildB 以更新其自身的值。
【问题讨论】: