事件总线
事件总线
1.1 订阅者-发布者模式
简单来说就是一个源发布事件,多端接受并处理
1.2 在uniapp中使用事件总线
组件A
data() {
return {
numA:10
};
},
methods:{
changeBNum(){
uni.$emit("changeA",this.numA)
}
}
组件B
methods:{
numAChange(numA){
console.log(numA)
}
},
created() {
uni.$on("changeA",this.numAChange)
},
beforeDestroy() {
//第一个参数 清除监听事件的名字,不传清除所有监听
//第二个参数 监听的函数,不传清除所有函数
uni.$off("changeA",this.numAChange)
}
1.3 在vue中使用事件总线
创建一个JS文件来定义总线
// event-bus.js
import Vue from 'vue'
export const EventBus = new Vue()
传值
//除调用时使用EventBus实例调用,其他与uniapp一致
EventBus.$emit("changeA",this.numA)