我不能在不提交突变的情况下用vuex调度操作。
我像往常一样导入了常用的mapActions等(记住所有操作都是正确的,我可以执行突变、getter、通过mapMutations、mapActions等等获取我的状态,如果我包含提交,我甚至可以调度操作(。
最简单的事情是,我在我的专用商店/actions.js.中创建了一个动作
repeatWord(data) {
console.log(data)
}
在我的vue组件上,我定义如下:
methods: {
...mapActions({
repeatWord: 'repeatWord'
)}
我叫它通过:
this.repeatWord('test')
应该有效,对吧?事实并非如此。我在控制台中得到的是{getters:{…},state:{.},rootGetters:{…},dispatch:f,commit:f,…}
我在这里错过了什么?
来自文档:
Action处理程序接收一个上下文对象,该对象在存储实例上公开相同的方法/属性集
这是第一个参数。第二个参数是您传递的数据。这样定义你的行动:
repeatWord(context, data) {
console.log(data)
}
您经常会看到context
参数被破坏为:
repeatWord({ commit, dispatch }, data) {
console.log(data)
}