Vuex 的 actions 应该避免直接操作 state,state 的更改应该由 mutations 去修改,不然 vue-devtools 插件记录不到 state 变更,
actions 可以根据当前 state 进一步处理数据,计算或请求后端接口,然后通过 commit 的形式提交给 mutations 去处理。
本节计数器 actions 部分直接操作了 state ,这个写法有问题,正确代码如下:
increment({commit}) { setTimeout(()=>{ commit('increment') }, 3000) }
作者回复: 感谢提醒,的确不应该在actions里面去操作state,这样devtools就记录不到变化状态了,传的依然是context哈,注意state两边的大括号,他的作用就是从context里面取出来 state,也是es6的语法,正确代码应该是: actions: { increment({commit}) { setTimeout(()=>{ commit('increment') }, 3000) } },
作者回复: 没必要的,单个状态没有任何意义,涉及到进一步计算合并才使用getter
编辑回复: 下周开始更新实战部分
作者回复: 这和你起的名字没关系 是vuex内部做的 不必纠结这个
作者回复: 无关,放在计算属性里面可以很好的响应vuex中数据的变化
作者回复: 不应该,版本依赖并不需要自己配置,这也是相对于java的优势,你完全可以不懂node,就可以使用vue
作者回复: 重装试试吧 npm建议使用 taobao 源。
作者回复: 清理缓存? 你说的是热更新吧? 如果是热更新,没有办法,但也不是每次都需要啊,大部分的改动都可以完美支持的
作者回复: 就是使用系统自带的,mac terminal,如果你也使用的mac,看到的和我不一样,是我自己自定义了主题。