2022.11.30 全局事件总线的理解

全局事件总线:适用于组件间传递数据。

第一部分:全局事件总线的理解

1.全局事件总线就像公共物品,每个组件都可以使用。用$bus来表示。

2.全局事件总线得满足两个条件。

(1)每个组件都可以访问到。意味着放在Vue.prototype最合适。

(2)全局事件总线,可以访问到$on  $emit  $off方法。但是这些方法都在Vue.prototype上。只有组件实例和Vue实例能访问到。所以全局事件总线,得是组件实例和Vue实例。

根据以上两个条件分析,全局事件总线,最好是Vue实例。

所以可以在脚手架入口文件,Vue配置对象中添加 beforeCreate(){Vue.prototype.$bus=this},

从而完成对全局事件总线的配置。

第二部分:全局事件总线的使用

1.明确谁接收数据,谁发送数据。

(1)接收数据的组件:给全局事件总线绑定事件。

this.$bus.$on("事件名",事件回调函数)

(2)发送数据的组件:触发全局事件总线某个事件。

this.$bus.$emit("时间名",数据)

2.组件销毁时要记得解绑全局事件总线上相关的事件。

beforedestroy(){  this.$bus.$off("事件名")  }

注意:一定要写事件名,不然会把全局事件总线绑定的事件全部解绑了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值