Javascript 在Vuex中创建突变和动作?
我的组件中有几个方法,我想将它们转移到Vuex存储中,作为突变/动作使用,但我不太确定我将如何使用它们,因为它们都是方法,我在另一个方法中调用一个方法,我知道我不能对突变执行此操作,即在另一个方法中调用一个突变。我试图设置一个动作并调用我的变异,但我得到了一个错误 检查这项工作,它设置了我想要进入Vuex的方法 这就是使用vuex实现上述功能的过程 下面是我想进入Vuex商店的工作示例,与上面的代码笔相同:- 新Vue{ el:应用程序, 资料{ 返回{ 选定:[], 动物学家:[], 更多动物:[{ 标题:猫, 价值:猫 }, { 标题:狗, 价值:狗 }, { 标题:骆驼, 价值:骆驼 }, ] }; }, 方法:{ createTitle{ 对于let i=0;iJavascript 在Vuex中创建突变和动作?,javascript,vue.js,vuex,Javascript,Vue.js,Vuex,我的组件中有几个方法,我想将它们转移到Vuex存储中,作为突变/动作使用,但我不太确定我将如何使用它们,因为它们都是方法,我在另一个方法中调用一个方法,我知道我不能对突变执行此操作,即在另一个方法中调用一个突变。我试图设置一个动作并调用我的变异,但我得到了一个错误 检查这项工作,它设置了我想要进入Vuex的方法 这就是使用vuex实现上述功能的过程 下面是我想进入Vuex商店的工作示例,与上面的代码笔相同:- 新Vue{ el:应用程序, 资料{ 返回{ 选定:[], 动物学家:[], 更多动
getters: {
// ...
getAnimalName: (state) => (title) => {
let lastAnimal = null;
for (let i = 0; i < state.animalList.length; i++)
if (state.animalList[i].title === title)
lastAnimal = state.animalList[i];
let index = lastAnimal ? Number(lastAnimal.value.split(" ")[1]) + 1 : 1;
return title + " " + index;
}
},
mutations: {
setSelected(state, payload) {
state.selected = payload;
}.
addToList(state, animal) {
state.animalList.push(animal)
}
},
actions: {
createTitle({ commit, state, getters }) {
for (let i = 0; i < state.selected.length; i++) {
let currentSelected = Object.assign({}, state.selected[i]);
if (currentSelected.title !== "camel")
currentSelected.value = getters.getAnimalName(currentSelected.title);
commit('addToList', currentSelected);
}
commit('setSelected', []);
}
}
我该如何称呼这个getter呢?在一个变种中还是在一个动作中?我没有注意到getAnimalName在createTitle中被使用。好的,我会修改我的答案。非常感谢你!!