Vue() 构造函数中的 vuex“存储”与“数据:存储”,哪个最好?

Posted

技术标签:

【中文标题】Vue() 构造函数中的 vuex“存储”与“数据:存储”,哪个最好?【英文标题】:vuex "store" vs "data: store" in Vue() constructor, which is best? 【发布时间】:2018-01-12 10:43:10 【问题描述】:

Vue 文档提到在构造函数上使用“数据”选项,以保留全局/共享数据: https://vuejs.org/v2/guide/state-management.html

这是有道理的。

Vuex 文档传递了“store”对象,但没有属性名称: https://github.com/vuejs/vuex/blob/dev/examples/counter/app.js

new Vue(
  el: '#app',
  store,
  render: h => h(Counter)
)

不应该是这样的

new Vue(
  el: '#app',
  data: store,
  render: h => h(Counter)
)

?

其他示例将其传递为“商店:商店” https://ypereirareis.github.io/blog/2017/04/25/vuejs-two-way-data-binding-state-management-vuex-strict-mode/

但“商店”不是记录在案的属性: https://vuejs.org/v2/api/

【问题讨论】:

store 是 VueX 的东西:vuex.vuejs.org/en/getting-started.html 【参考方案1】:

在您的 Vue 实例上使用 store 只是

的简写

store: store

https://ariya.io/2013/02/es6-and-object-literal-property-value-shorthand

在您的主实例上设置store 是 Vuex 的一部分,以及 Vuex 如何与您的商店交互,因此需要它。

如果您在没有 Vuex 的情况下使用自己的全局状态设置,那么将您自己的存储添加到数据中会非常好。事实上,很多应用程序在不需要像 Vuex 这样的完整设置时都会这样做。

【讨论】:

以上是关于Vue() 构造函数中的 vuex“存储”与“数据:存储”,哪个最好?的主要内容,如果未能解决你的问题,请参考以下文章

根据 Vue 中的数据变化切换对象(使用 Vuex)

如何在 vuex 的挂载函数中访问存储数据

Vue Vuex state mutations

VUE vux深入浅出

vuex 与 vue有啥区别

浅谈vue使用vuex