微信小程序-事件总线
一.事件总线的概念和作用
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理机制,允许不同组件之间进行彼此通信,常用于两个非父子组件和兄弟组件之间的通讯。
在日常开发过程中,我们可以使用第三方的发布订阅 JS 包来实现事件总线的功能。
比如 : PubSubJS
二.通过NPM给小程序导入PubSubJS依赖包
1.打开小程序内建终端
右击.eslintrc.js->在内建终端中打开
2.输入npm install pubsub-js 初始化第三方依赖
注意:如果初始化pubsub-js失败的话,需要使用能加载依赖的正确镜像地址。
使用如下加载镜像路径命令:
npm install -g cnpm --registry=https://registry.npmmirror.com
使用完成后,继续加载依赖包即可。
npm install pubsub-js
3.加载成功后,通过工具构建NPM
三.使用PubSub-JS包
1.导入第三方依赖PubSub
import PubSub from 'pubsub-js'
2.使用方法publish注册事件
//publish,发射一个自定义的事件
//自定义事件的名称,需要传递的数据
PubSub.publish('myevent',this.data.name)
3.使用subscribe订阅事件
//subscribe订阅事件
//回调函数有事件名和数据两个参数
PubSub.subscribe('myevent',(msg,data)=>{
console.log(msg,data)
this.setData({
value:data
})
})