如何处理 Vue.js 中的 $dispatch 和 $broadcast 弃用?
How to handle $dispatch and $broadcast deprecations in Vue.js?
我正在开发一个大型 Vue.js 应用程序,我在我的应用程序中使用了 broadcast
和 dispatch
大量的地方。坐下来改变这一切的最佳方式是什么?或者我有其他方法来处理这些重大变化吗?
这两种方法现在都合并到 $emit
方法中。
不幸的是,替换了 $broadcast
和
$dispatch
和 $emit
将不起作用,因为模式
现在用于管理 'event emitter' 之一的事件。
在我看来,处理这种弃用的最快方法是创建一个虚假的 Vue 实例并将其用作事件中心。
我最近遇到了和你一样的问题,因为我使用了很多 $broadcast 和 $dispatch。解决方案是:
- 如前一个答案所指出的,使用组件作为事件中心来管理您的应用程序状态;
- 使用 vuex。我花了一些时间来分析这些选项,并且真的觉得 vuex 是可行的方法。 Vuex 为您提供了一个中央结构来管理您所有的应用程序状态和事件,并提供了很棒的开箱即用的实用程序,您可以轻松地将它们带到您的组件中。它还使代码更加模块化,更易于重新排列和使用。最起码,我是这么想的。我 2 周前开始使用它,我真的很兴奋。如果你花时间学习我认为这可能是值得的。
干杯
我正在开发一个大型 Vue.js 应用程序,我在我的应用程序中使用了 broadcast
和 dispatch
大量的地方。坐下来改变这一切的最佳方式是什么?或者我有其他方法来处理这些重大变化吗?
这两种方法现在都合并到 $emit
方法中。
不幸的是,替换了 $broadcast
和
$dispatch
和 $emit
将不起作用,因为模式
现在用于管理 'event emitter' 之一的事件。
在我看来,处理这种弃用的最快方法是创建一个虚假的 Vue 实例并将其用作事件中心。
我最近遇到了和你一样的问题,因为我使用了很多 $broadcast 和 $dispatch。解决方案是:
- 如前一个答案所指出的,使用组件作为事件中心来管理您的应用程序状态;
- 使用 vuex。我花了一些时间来分析这些选项,并且真的觉得 vuex 是可行的方法。 Vuex 为您提供了一个中央结构来管理您所有的应用程序状态和事件,并提供了很棒的开箱即用的实用程序,您可以轻松地将它们带到您的组件中。它还使代码更加模块化,更易于重新排列和使用。最起码,我是这么想的。我 2 周前开始使用它,我真的很兴奋。如果你花时间学习我认为这可能是值得的。
干杯