在 Vuex 中,Getters 用于从状态派生数据,而 Mutations 则用于修改状态。Getters 常用于计算属性,而 Mutations 用于同步更改状态。所有状态修改都必须通过 Mutations 进行,而不应直接修改状态对象。

Vue 中 Getters 和 Mutations 的区别
Vuex 中,getters 和 mutations 是两个用于管理 Vuex 状态的关键概念。二者的区别在于:
用途
- Getters:用于从 Vuex 状态中获取派生数据或计算属性。
- Mutations:用于修改 Vuex 状态。
语法
立即学习“前端免费学习笔记(深入)”;
MALL的中文含义是购物中心,是区别于专卖店和百货公司的一个流行的商业模式,MALL里面是各个独立商家,自由自主的定价,各自管理自己的供销渠道和客户关系。电子商务的MALL模式其实就是对B2C业务模式做了多主体的扩展和延伸。目前具有代表性的电子商务MALL模式就是淘宝商城。比如淘宝电器城,他们的模式更像是做房地产的,阿里巴巴有着繁华的互联网商业物业,只是开了一个名字叫淘宝电器城的大市场而已,没有任
-
Getters:使用
mapGetters辅助函数映射到组件,或者使用$store.getters访问。 -
Mutations:使用
mapMutations辅助函数映射到组件,或者使用$store.commit分发。
何时使用
- Getters:当需要从状态中计算数据时,例如总和、平均值或过滤后的列表。
- Mutations:当需要修改状态时,例如增加计数、添加项目或删除属性。
注意事项
- Getters:都是只读的,不会修改状态。
- Mutations:只能是同步的,不能执行异步操作。
- 状态修改:所有状态修改都必须通过 mutations 进行,不能直接修改状态对象。
示例
以下是一个使用 getters 和 mutations 的代码示例:
// getters.js
const getters = {
totalItems: state => state.items.length,
};
// mutations.js
const mutations = {
addItem: (state, item) => state.items.push(item),
};









