使用eventBus注意事项
需求是:a页面跳转到b页面,使用this.$router.go(-1);跳回并且需要且带参数
第一步:需要创建一个新的js文件(vue使用)
import Vue from 'vue'
/**
* 定义空的vue实例,作为 eventbus实现非父子组件之间的通信(vue2.x中去掉了broadcast)
*/
var eventBus = new Vue({});
export default eventBus;
第二步:b页面代码
//首先引入
import eventBus from '@/components/bus'
goBack(){
//传递一个map,choiceHospital是key,hospital是value
eventBus.$emit('choiceHospital','成功了传过来了');//this.objRouter
//调用router回退页面
this.$router.go(-1);
},
第三步:a页面代码
//首先引入
import eventBus from '@/components/bus'
created () {
// this.getGroupList()
// this.getTableData()
eventBus.$on('choiceHospital',function (data){
eventBus.value = data
});
},
现在这个data没有存到a页面的data中。而是存到了新建的那个js文件的data中
a页面其他事件想要使用传过来的值的话。