老师对commit的使用有些困惑
来源:7-7 状态管理 - 数据持久化

weixin_慕丝2377090
2022-02-19
一般流程:dispatch 触发 actions 调用 commit 触发 mutations 修改 state。
老师这里:
直接在 mutation的方法中再次commit触发mutation内部的方法,可不可以在这里使用action属性呢?
mutations: {
/**
* 保存数据到 storage
*/
saveToStorage(state) {
uni.setStorage({
key: STORAGE_KEY,
data: state.searchData
});
},
/**
* 添加数据
*/
addSearchData(state, val) {
...
// 调用 saveToStorage
this.commit('search/saveToStorage');
},
/**
* 删除指定数据
*/
removeSearchData(state, index) {
...
// 调用 saveToStorage
this.commit('search/saveToStorage');
},
/**
* 删除所有数据
*/
removeAllSearchData(state) {
...
// 调用 saveToStorage
this.commit('search/saveToStorage');
}
写回答
1回答
-
Sunday
2022-02-19
你好
vuex 中是不可以在 mutation 中触发 action 的。因为 mutation 不推荐(可以使用,但是不推荐使用)异步操作
012022-02-20
相似问题