bus方式的组件间传值其实就是建立一个公共的js文件,专门用来传递消息
1.建立公共msgBus.js文件
import Vue from 'vue'
export default new Vue()
2.然后在需要传递消息的两个组件引入msgBus.js
import Bus from '../common/js/bus.js'
3.发送消息 发消息的组件代码:
<button @click="toBus">子组件传给兄弟组件</button>
import Bus from '../common/js/bus.js'
export default {
methods: {
toBus () {
Bus.$emit('on', '来自兄弟组件')
}
}
}
4.接受消息 接受组件的事件(写在钩子函数内:例如:mounted created都可以)
import Bus from '../common/js/bus.js'
export default {
data() {
return {
message: ''
}
},
mounted() {
Bus.$on('on', (msg) => {
this.message = msg
})
}
}