关于 Vuex 模块的问题
来源:4-8 Vuex之模块
qq_缺南摸了个北_0
2019-06-22
我自己测试了一下,
当在 Vuex 中使用模块,设置 namespace:boolean
会出现下列几种情况。
namespace:false
- state 声明不冲突.(调用则是 this.$store.state.module.xxx)在调用级别就已经区分模块了)
- getters 无法声明成同名的.(否则会报命名重复冲突)
- mutations 和 actions 将会编译成全局的.将同名的mutations和actions丢在一个数组里.调用其中任何一个都会触发全部同名的mutations和actions调用.
namespace:true
- state 不冲突.
- getters 也不冲突.
- mutations 也不冲突.
- actions 仍然不冲突.
既然分了模块了,两个模块直接就是用明显界限了。
为什么还要提供一个 namespace 来设置这种应该默认存在的特性?(不应该默认提供namespace:true).
还有模块之间的getter,mutations 直接的通信,参数,值之类的情况好多,还有什么 subscribe,plugins…有一点不太好记。。太零碎了。。感觉不是很易用。。
最后是,跑在浏览器里的数据,浏览器一关就没了,使用这么复杂且不易用的模块系统,感觉好没性价比。
用本地存储,可以持久性保存,但是没有Vuex提供的组重要的响应式特点。也是比较蛋疼。
写回答
1回答
-
Jokcy
2019-06-23
-。-你这有点。。。这么说,默认不为true就是因为大部分应用不需要namespace
持久化是另外一个话题,vuex应该也有类似插件提供全量持久化的
00
相似问题