解决单一状态树,项目解构复杂臃肿时;vuex提供模块功能将store分割为module,每个module都包含state、getters、mutations、actions以及子模块module
2.模块文件配置 配置同store实例中一样,导出 Eg moduleA.js
const moduleA = { state: {}, getters: {}, mutations: {}, actions: {} } export default moduleA
this.$store.state.模块名(store中注册的模块名).数据名
Eg
使用mutations和commit提交
除了state局部的,getters、mutations、actions都是全局
对于模块内部的mutation和getter,接收的第一个参数是模块的局部状态对象
对于actions和getters,其第三个参数为根store实例的数据
默认情况下,模块内部的action、mutation和getter 是注册在全局命名空间的——这样使得多个模块能够对同一mutation或action作出响应
通过添加namespaced:true的方式使其成为带命名空间的模块,此时state、mutation、action、getter都是局部命名空间
Eg
... computed:{ ...mapState("模块名",["要获取的数据"]) }, methods:{ ...mapMutations("模块名",["触发的函数"]) }
本文作者:RKLS
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!