问题一: 不同组件传值(非父子组件)
在main.js中,构建
eventBus = new Vue();
pageA.vue
在methods中发布事件
eventBus.$emit('test', 123);
应该在pageB.vue生命周期creatd/mounted中触发事件,
eventBus.$on('test', (content) => {
//content即是出过来的值
});
问题二: 跳转路由
pageA.vue在methods中进行路由跳转,这时候就应在该组件被销毁之前触发:
beforeDestroy (){
eventBus.$emit('testClick', this.msg);
},
pageB.vue:应该在pageB.vue生命周期creatd/mounted中触发事件,
eventBus.$on('testClick', val => {
console.log(val)
});
不要忘记清除事件(要不会触发多次);
beforeDestroy() {
eventBus.$off('testClick')
},