使用EventBus事件车(事件总线)实现组件通信

//创建一个用于通信的bus模块
let bus = {
  install($){
    //在vue的原型上添加getBus和setBus
    $.prototype.getBus = this.get
    $.prototype.setBus = this.set
  },
  get(key){
    //如果实例上有bus对象,返回查询结果,否则undefined
    if(this.bus){
      return this.bus[key]
    }else{
      return undefined
    }
  },
  set(key,value){
    //如果实例上没有bus对象,创建一个,并设置属性
    if(!this.bus){
      this.bus = {}
    }
    this.bus[key] = value
  }
}
Vue.use(bus);


//注:写在vue中的main文件中即可.


//当我们在使用的时候。


created(){
	this.setBus('name','xiaoming');
	console.log(this.getBus('name'));
}

你可能感兴趣的:(vue)