vue中emit与emit与on和BUS
bus:
//vue原型链挂载总线
Vue.prototype.bus = new Vue();
//子组件发送数据
this.bus.$emit("change",data);
//子组件接收数据
this.bus.$on("change",function(data){
})
emit与emit与on:
var Event = new Vue(); 相当于又new了一个vue实例,Event中含有vue的全部方法;
Event.$emit('msg',this.msg); 发送数据,第一个参数是发送数据的名称,接收时还用这个名字接收,第二个参数是这个数据现在的位置;
Event.$on('msg',function(msg){ 接收数据,第一个参数是数据的名字,与发送时的名字对应,第二个参数是一个方法,要对数据的操作
/这里是对数据的操作
})
首先可在在src中创建bus文件之下创建index.js 文件
index.js文件中入下:
import Vue from 'vue'
const bus = new Vue();
export default bus;
在组建中调用范式如下:
import bus from '@/bus'