如何处理 Vue.js 中的 $dispatch 和 $broadcast 弃用?

How to handle $dispatch and $broadcast deprecations in Vue.js?

我正在开发一个大型 Vue.js 应用程序,我在我的应用程序中使用了 broadcastdispatch 大量的地方。坐下来改变这一切的最佳方式是什么?或者我有其他方法来处理这些重大变化吗?

这两种方法现在都合并到 $emit 方法中。

不幸的是,替换了 $broadcast$dispatch$emit 将不起作用,因为模式 现在用于管理 'event emitter' 之一的事件。

在我看来,处理这种弃用的最快方法是创建一个虚假的 Vue 实例并将其用作事件中心。

我最近遇到了和你一样的问题,因为我使用了很多 $broadcast 和 $dispatch。解决方案是:

  • 如前一个答案所指出的,使用组件作为事件中心来管理您的应用程序状态;
  • 使用 vuex。我花了一些时间来分析这些选项,并且真的觉得 vuex 是可行的方法。 Vuex 为您提供了一个中央结构来管理您所有的应用程序状态和事件,并提供了很棒的开箱即用的实用程序,您可以轻松地将它们带到您的组件中。它还使代码更加模块化,更易于重新排列和使用。最起码,我是这么想的。我 2 周前开始使用它,我真的很兴奋。如果你花时间学习我认为这可能是值得的。

干杯