// 分类模块
import { topCategory } from '@/api/constants'
import { findAllCategory } from '@/api/categroy'
export default {
namespaced: true,
state: () => {
return {
// 分类信息集合
list: topCategory.map(item => ({ name: item }))
}
},
mutations: {
setList (state, headCategroy) {
state.list = headCategroy
}
},
actions: {
async getList ({ commit }) {
const data = await findAllCategory()
commit('setCategoty', data.result)
}
}
}
这是category.js组件的
export default createStore({
state: {
// 数据
},
getters: {
// vuex的计算属性
},
mutations: {
// 改数据函数
},
actions: {
// 请求函数数据
},
modules: {
// 分模块
user,
cart,
category
},
plugins: [
createPersistedstate({
key: 'erabbit-pc-vue-project',
paths: ['user', 'cart']
})
]
})
这个则是index.js的代码
用了一天的时间,用网上找到的博客里面的方法,全都试了一边,报错就莫名的没了。不过方法名和命名空间,是没有问题的。...mapActions(模块名, ['方法名']),具体的应该是通过使用这个方法之后报错就没了。不过unknown action type: categroy/getList 这个报错解决之后,随即就又来一个 unknown local mutation type: setCategoty, global type: category/setCategoty 的报错。
我把代码中的 commit('setCategory', result)改写成
commit('setList', result)后就解决了
好像说到底就是我在方法命名时有误,所以才有的报错