如何设计vue全局事件?

现在我的做法是在根组件设置一个事件

'broadcast_event':function (event_name,data) {
    this.$broadcast(event_name,data)
}

然后在子孙组件触发该事件来为所有组件广播该事件

methods: {
      click_btn: function () {
        this.$dispatch("broadcast_event","click_tag")
      },
}

是否有更好的方法?

阅读 9.2k
2 个回答

什么是全局事件?你想要做什么,能举个例子,什么是局部事件,什么是全局事件吗?

如果是多个组件之间需要传递消息,即有公共操作的变量,在一处修改另一处也要响应式改变,那么就用vuex

本人通过VUEX的state变量模拟事件,不知是否合适你的需求

事件设置

图片描述

事件监听

图片描述

事件触发

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏