vue做一个组件,想用vuex管理。但是遇到一个问题,在mutations里面一个方法想用到mutations里的另一个方法,怎么实现?
还有mutations里面的一个方法想调用自身即实现递归调用,怎么实现???
vue做一个组件,想用vuex管理。但是遇到一个问题,在mutations里面一个方法想用到mutations里的另一个方法,怎么实现?
还有mutations里面的一个方法想调用自身即实现递归调用,怎么实现???
官方有说明,使用actions比较符合~
如果你在一个mutation里面想执行另一个mutation,也可以store.commit('另一个mutation的名称')。
this.$store.commit('history/SET_LIST', route)
我是这样在非组件中调用 mutations 的:
import store from '@/store/index.js'
store.commit('history/SET_LIST', to)
其中 history/SET_LIST
就是正常的 store/modules/history.js
中的 mutations
方法
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答867 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
基本可以用
actions
实现的别用mutations
,因为mutations
不支持异步,但是实在有需要可以用this.commit('另一个mutations')
,当前的this指向的就是当前模块中的mutations。不推荐,还是推荐actions