为了账号安全,请及时绑定邮箱和手机立即绑定

使用 event bus 怎样对实例属性操作?

使用 event bus 怎样对实例属性操作?

MMTTMM 2018-11-22 16:13:10
使用了一个event bus进行兄弟组件进行通信,这是其中一个组件:qdb_listclickChange:function(obj){       Bus.$emit('change',obj);       this.$router.push({path:'/qdb_change'});     }触发click事件后会跳转到qdb_change组件这是它的兄弟组件:qdb_change在这里对属性进行的赋值操作全部都无效,得到的依然是空白值,该怎样才能使其生效?还有就是每次第一次点击qdb_list里面的跳转时,都不会有console.log(obj)出来,是不是$on并没有监听到事件?但是第二次点击时它就会出现两个console.log(obj),是不是说Bus.$emit('change',obj)这个事件的触发次数会不断累积?
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

你这两个组件是不同的没有同时展示,也就是一个创建了,另一个就被销毁了,这种情况就不应该使用event bus,而应该使用vuex,实现组件的数据共享,qdb_list页面emit的时候,qdb_change页面还没创建created也没执行,怎么能监听到触发的emit,一般观察者模式是先on再emit


查看完整回答
反对 回复 2018-12-10
  • 1 回答
  • 0 关注
  • 501 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信