bus.$on('getMsgbm1', this.getMsg)
就相当于在watch里监听这个’getMsgbm1’,
然后bus.$emit('getMsgbm1')
就会去触发这个监听;
所以bus.$on('getMsgbm1', this.getMsg)
写在哪里都行,不过一般是写在mounted里
【bus.js】
import Vue from 'vue'
const Bus = new Vue({})
export default Bus
父组件 / 兄弟组件
...
import bus from '../utils/bus'
...
mounted() {
// bus.$on 存储
bus.$on('getMsgbm1', this.getMsg)
bus.$on('setIndexbm01', this.setIndex)
},
beforeDestroy() {
bus.$off('getMsgbm1')
bus.$off('setIndexbm01')
},
methods: {
/* mes-box****************************************** */
setIndex() {
this.count = 0
},
...
}
子组件 / 兄弟组件
...
import bus from '../utils/bus'
...
// 在子组件想要触发此方法里使用 即调用父组件getMsgbm1和setIndexbm01 这两种方法
bus.$emit('getMsgbm1')
bus.$emit('setIndexbm01')