当遇到子组件与子组件之间传参,监听本地缓存变化时,可以使用bus来处理。当然也可以使用vuex,但vue-bus更加简便。
vue-bus相当于是提供了一个全局的事件监听中心,可以将其全局注入,在组件中就可以使用其进行事件监听,传递。
具体操作如下:
1、安装vue-bus
$ npm install vue-bus
2、全局引入vue-bus
main.js:
import VueBus from 'vue-bus';
Vue.use(VueBus);
3、vue-bus具体使用:
(1)触发事件:
this.$bus.emit('thebus', {name: 'guan'} );
(2)监听事件:
created() {
this.$bus.on('thebus', (val) => {
console.log(val) // {name: 'guan'}
});
}
(3)清除事件(最好在组件销毁前清除事件):
beforeDestroy () {
this.$bus.$off('thebus');
},