无法在没有突变的情况下调度操作



我不能在不提交突变的情况下用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)
}

最新更新