1. modules是什么
模块,向store注入其他子模块,可以将其他模块以命名空间的方式引用。
2.为什么要用modules
为了拆分state中的数据,提高可维护性,防止修改时的覆盖和重名。
3.modules的具体用法
前置条件:
(1)在工程的 /src/store目录下建modules文件夹。
(2)modules文件夹下建shop.js:
const shopCar = {
namespaced:true, //开启命名空间
state: {
carr:[
{pid:1,pname:'牛逼1',price:10000},
{pid:2,pname:'牛逼2',price:20000},
{pid:3,pname:'牛逼3',price:30000},
{pid:4,pname:'牛逼4',price:40000},
{pid:5,pname:'牛逼5',price:50000}
]
},
mutations: { // 模板中的修改器不能直接调用
addCarr(state,po){
state.carr.push(po);
}
}
}
export default shopCar;
注意:要开启命名空间。
引入模块:
(1)在state 文件夹的 index.js头部加代码:
import shop from './modules/shop.js'
(2)在state 文件夹的 index.js中的 modules 中注册模块:
modules: { // 模块
shop
}
(3)在actions中通过命名空间调用模块中的修改器:
actions: { // 动作调用修改器 ,修改器改state
carr(context,po){ // 通过命名空间调模板中的 修改器
context.commit("shop/addCarr",po);
}
}文章来源:https://www.toymoban.com/news/detail-855758.html
然后在vue页面中直接调用actions就可以了。文章来源地址https://www.toymoban.com/news/detail-855758.html
到了这里,关于vuex中的modules使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!