在使用vuex的时候,先在组件中提交通知(dispatch),让vuex中的actions异步请求数据,然后actions通过commit把数据传给mutations,mutations把数据传给state中进行保存
可是运行的时候出现了警告:export 'default' (imported as 'reqBaseCategoryList') was not found in '@/api' (possible exports: reqBaseCategoryList)
下面是我原来的代码
//导入接口,在vuex中的actions异步获取数据
import reqBaseCategoryList from '@/api'
const state ={
//存放数据
BaseCategoryList:[]
};
const mutations = {
//接收保存数据,然后传给state状态树中
receiveBaseCategoryList(state,list){
state.BaseCategoryList = list
}
};
const actions = {
//异步获取三级列表数据
async getBaseCategoryList({commit}){
let result = await reqBaseCategoryList();
if(result.code==200){
commit('receiveBaseCategoryList',result.data)
}
}
};
const getters = {};
export default {
state,
mutations,
actions,
getters
}
乍一看没啥逻辑问题,可是为啥有警告?然后我去查找资料才知道,问题出自导出和引入
export和export default
一个是导出,一个是默认导出,这就导致两者的引用也是不同的,
1.默认导出的时候,只要import xxx from ‘’ 即可,但只能导出一个,毕竟是默认导出
2.而export导出就不一样了,引入的时候就是 import {xxx} from ‘’ ,需要花括号,但可以导出不止一个
所以解决方案就是引入的对象上加上花括号{}
import {reqBaseCategoryList} from '@/api'
网友评论