同时使用Vuex和Emit事件

时间:2019-12-17 20:26:37

标签: javascript vue.js vuejs2

我最近开始在VueJS中工作,并且一位主要开发人员指示我永远不要合并发射事件和vuex存储。基本上,如果项目将使用商店,则通过商店获取所有事件/状态。

从一个角度看,我可以理解这一点,但是在很多情况下,发出事件要比将所有事情都通过商店快得多。

这是不合并Vuex并发出事件的最佳实践吗?

2 个答案:

答案 0 :(得分:2)

作为自己使用Vue的首席开发人员,这个任意规则简直是狭narrow的。

在使用Vuex并决定是否使用发射时,我会研究这种关系。如果我有一个只需要与其父级进行交互的组件,则可以使用发射。它使商店保持清洁,关系更清晰。您的潜在客户无法制作可伸缩或可维护的代码。

如果他/她认为您在拥有商店时不应该使用emits,那么按照这种逻辑,您也不应使用道具。那同样是荒谬的。

一旦开始使用具有多个子项的应用程序,您将意识到,将您所需的每个变量仅塞入层次结构中的几个组件,就会造成混乱。

答案 1 :(得分:1)

我不同意您的领导。 Vuex仅应用于真正的全局数据。仅在组件及其子组件之间共享的所有数据/事件都应通过emit / props。

虽然可以/应该就应该使用商店还是道具进行辩论,但毛毯式的“始终使用商店”几乎肯定是错误的,并且会导致不必要的膨胀。