推荐:www.jianshu.com/p/fde85549e…
问题一:第一次点击没有数据打印
问题二:每一进入打印的次数不一样
问题三:这种方法 记得取消$on
Vue.prototype.bus = new Vue()
// const bus = new Vue()
// Vue.prototype.bus = bus
//在mian.js中
Vue.prototype.bus = new Vue() //这样我们就实现了全局的事件总线对象
//组件A中,监听事件
this.bus.$on('updata', function(data) {
console.log(data) //data就是触发updata事件带过来的数据
})
//组件B中,触发事件
this.bus.$emit('updata', data) //data就是触发updata事件要带走的数据
//没啥效果
// onUnload(){
// this.bus.$off("schChange");//什么值都没有
// },
onHide(){
this.bus.$off("schChange");
},
// 实例销毁前 beforeDestroy() { console.log("老师-off"); // 避免重复监听,页面销毁时销毁监听 this.bus.$off("schChange"); },
问题四
组件 与组件之间传值 是拿不到的
uni.$emit('update',{msg:'页面更新'})
uni.$on('update',function(data){
console.log('监听到事件来自 update ,携带参数 msg 为:' + data.msg);
this.msg= data.msg
})