vue中$emit与$on和BUS

vue中$emit与$on和BUS

bus

//vue原型链挂载总线
Vue.prototype.bus = new Vue();

//子组件发送数据
this.bus.$emit("change",data);

//子组件接收数据
this.bus.$on("change",function(data){
})

vue中$emit与$on

var Event = new Vue();

  • 相当于又new了一个vue实例,Event中含有vue的全部方法

Event.$emit('msg',this.msg);

  • 发送数据,第一个参数是发送数据的名称,接收时还用这个名字接收,第二个参数是这个数据现在的位置
vent.$on('msg',function(msg){  
    //这里是对数据的操作
  })
  • 接收数据

    • 第一个参数是数据的名字,与发送时的名字对应
    • 第二个参数是一个方法,要对数据的操作
  • 需要注意的是接受数据的时候(例如mounted)会有this作用域问题

posted @ 2020-04-11 14:14  懒惰ing  阅读(1828)  评论(0编辑  收藏  举报