关于Vuex的问题。

来源:4-5 Vuex之集成

qq_缺南摸了个北_0

2019-06-22

Vuex 本质上是不是就是一个全局大单例的对象(用于集中存储Vue的一些数据。)?或者说是一个被设置成了响应式的大单例对象?

  1. 在state里里面设置的数据就和组件里的data一样,被设置成响应式了?
  2. mutations 修改和直接用 this.$store.state.x = ‘xx’ 其实差别就只是在于 Vue 的 devtool 是否能够监控到这个数据的修改,能够更方便的使用devtool 中的 vuex 工具进行调试而已?
  3. actions 一些异步的丢在里面,但是异步回调回来了,仍然是用 commit 去提交修改的原因还是因为第二条?
  4. getter 就没啥好说了,就是一个同步的过滤的方法而已.
  5. …mapState 放到 computed 里面,本质上是因为 state 已经被设置成响应式了,我们在这里访问到的 this.$store.state.data 其实是 data 的 get / set ?
写回答

1回答

Jokcy

2019-06-22

  1. 是的

  2. 不是,vuex开发时是不允许你直接设置this.$store的,从设计上来说这也是不允许的

  3. 修改数据应该都通过commit

    5. 通过computed来获取具体的store数据是最好的方式

0
2
Jokcy
回复
qq_缺南摸了个北_0
印象中是有的,你确定你用的不是production的bundle?
2019-06-23
共2条回复

Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲

深入讲解Vue核心技术,展示Vue应用开发中的各种问题和解决方案

3168 学习 · 853 问题

查看课程