我有此错误,但我不明白原因,您能指导我吗?
错误:
TypeError:state.categoriesState.push不是函数
我的代码:
state.js
export default {
categoriesState: []
}
mutations.js
export function setCategories(state, category){
state.categoriesState.push(category);
};
从我的组件中调用** VUEX :**
methods: {
...mapMutations('cat', ['setCategories']),
addCategoriesToVuex(category){
this.setCategories(category);
},
}
答案 0 :(得分:1)
您的变量 categoriesState 很可能是对象,而不是数组。您应该首先通过对变量 categoriesState 的typeOf进行控制台检查。
export function setCategories(state, category){
console.log(typeOf(state.categoriesState));
//state.categoriesState.push(category);
};
您可以使用set方法向vue中的对象添加新属性。
答案 1 :(得分:1)
我遇到了同样的问题,是因为 vuex-persistedstate 包。正如@OscarDev 提到的,更改变量名有帮助。这是因为persistedstate在你写代码的时候保存了变量的类型。 所以清除持久状态缓存也有帮助。