组件上的Vuex

时间:2018-07-28 20:14:44

标签: vue.js vuex

official Vuex documentation和互联网上的指南中,提到要访问商店状态或getter,必须创建一个计算属性,该属性返回所需的数据(例如this。$ store.state.info),也可以使用MapState帮助器。

我访问模板上的Vuex数据,如下所示直接在模板上引用它:

<p> {{ $store.state.info }} </p>

吸气剂也一样。它工作正常,但是我想知道我是否犯错了,因为我阅读的有关Vuex的所有文章都不喜欢这样。指南始终总是直接使用MapState或MapGetter创建计算属性。

您认为我的工作方式是否正确,或者是错误的,我以后在项目中可能会遇到错误?这不是最佳实践,还是可以按照我的方式使用Vuex?

2 个答案:

答案 0 :(得分:4)

实际上Vue并没有固执己见,尽管这并不意味着不存在某些-最佳实践-在您的情况下,我认为您的方法还不错,实际上在Vue中有很多方法可以做到这一点,如果您的应用程序将要增长(中到大型),那么考虑到可维护性的地图助手可能会更好,尽管权衡是更冗长的代码。

编辑: 更新:@edpr我想到了另一个原因,也许是显而易见的,但是如果您想以ES2015的方式进行所有操作,那么可以选择mapHelpers,因为您可以从结构化和即时传播语法中受益,那么您的冗长程度就会减少地图的结果。

答案 1 :(得分:1)

MapGetters或MapState通常是最好的方法,因为它们提供了易于阅读和理解的便捷语法,并自动将您的吸气剂映射到计算属性。同样,在发生大量吸气剂,动作等情况时,最好将它们放在一个位置。