我有一个错误,但我不明白原因,您可以指导我吗?
错误:
typeError:state.categoriesstate.push不是函数
我的代码:
state.js
export default {
categoriesState: []
}
突变.js
export function setCategories(state, category){
state.categoriesState.push(category);
};
呼叫** vuex 来自我的组件:**
methods: {
...mapMutations('cat', ['setCategories']),
addCategoriesToVuex(category){
this.setCategories(category);
},
}
很可能您的变量 cancoriestate 是对象,而不是数组。您应该首先通过执行变量 epcoriestate 的键入控制台检查该。
export function setCategories(state, category){
console.log(typeOf(state.categoriesState));
//state.categoriesState.push(category);
};
您可以使用设置方法将新属性添加到Vue中的对象。
我也有同样的问题,这是因为Vuex-PersistedState软件包。正如@oscardev所述,变量名称的更改帮助。这是因为在您编写代码时,PersistedState保存了变量的类型。因此清除持久性缓存也有所帮助。