这两种方式都可以实现任意两个组件之间的通信
1 全局事件总线
1.安装全局事件总线
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
/* 1.第一种写法 */
// const Demo = Vue.extend({})
// const d = new Demo()
// Vue.prototype.x = d // 把Demo实例挂载到Vue的原型上,这样所有Vue实例都可以访问到x
new Vue({
el: '#app',
render: h => h(App),
/* 2. 第二种写法 */
beforeCreate() {
Vue.prototype.$bus = this // 安装全局总线
},
})
2.使用事件总线
(1).发送数据
(2).接收数据
总结:
2 消息订阅与发布
1.安装pubsub:npm i pubsub-js
2.引入:import pubsub from 'pubsub-js'
3.发送数据:
4.接收数据:
总结: