相邻组件之间可以通过this.$emit(‘xxx’)触发父组件的事件并且传递参数
那么隔着多个组件,如果一步到位,触发对方的事件并且传递参数呢?
Vue.prototype.$bus= new Vue(); //main.js中,在vue原型上挂载
this.$ bus.$on('dataFromA', function (data) {
}); // 一般在mounted生命周期函数中挂载
this.$ bus.$emit('dataFromA', this.dataA); //一般在想要触发的函数中使用
注意:使用总线,不仅仅局限于父子关系,组件B可以与组件A是父子、兄弟等等任意关系。