VUE EventBus(最简单的事件发布与订阅)

1.在main.js文件中,vue示例上挂载$EventBus并实例化

Vue.prototype.$EventBus = new Vue()

2.在组件中触发事件并抛出自定义事件

data() {
    return {
      // 数据
      name: 1,
      msg: ''
    }
  },
  methods: {
    // 方法
    notice() {
      this.$EventBus.$emit('hh', this.name++)
    }
  },

3.在需要接受值的组件内挂载结束后监听自定义事件

data() {
    return {
      // 数据
      name: '我是2,我要通知1',
      msg: ''
    }
},
mounted() {
    // 挂载后
    this.$EventBus.$on('hh', msg => {
      // A发送来的消息
      console.log(msg)
      this.msg = msg
    })
  },

4.最后别忘了销毁

// 在订阅的文件中销毁
destroyed() {
    this.$ventBus.$off('hh')
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值