Javascript &引用;类型错误:can';t访问属性“;得到;,vue“网页包”已导入“模块”0“默认值.axios未定义”;
我在axios上使用vue时遇到问题,它说: [Vue warn]:创建的挂钩中出现错误:“TypeError:无法访问属性“get”,Vue\uuuu网页\u导入的\u模块\uu 0\uuuuuo。默认值.axios未定义” 这是我的密码 Api.service.jsJavascript &引用;类型错误:can';t访问属性“;得到;,vue“网页包”已导入“模块”0“默认值.axios未定义”;,javascript,vue.js,axios,Javascript,Vue.js,Axios,我在axios上使用vue时遇到问题,它说: [Vue warn]:创建的挂钩中出现错误:“TypeError:无法访问属性“get”,Vue\uuuu网页\u导入的\u模块\uu 0\uuuuuo。默认值.axios未定义” 这是我的密码 Api.service.js import Vue from "vue"; import axios from "axios"; import VueAxios from "vue-axios";
import Vue from "vue";
import axios from "axios";
import VueAxios from "vue-axios";
import JwtService from "./jwt.service";
const ApiService = {
init() {
Vue.use(VueAxios, axios);
axios.defaults.baseURL = "http://hyper.test/api";
},
}
BannerDataService.js:
import ApiService from "../api.service";
class BannerDataService {
constructor() {
// ApiService.setHeader();
// ApiService.adminScope();
}
all() {
return ApiService.get('site/banners')
}
get(id) {
return ApiService.get(`site/banners/${id}`)
}
}
export default new BannerDataService();
Index.vue:
getBanners() {
BannerDataService.all().then(response => {
console.debug(response)
}).catch(err => {
console.debug(err)
})
}
错误控制台:
[Vue warn]: Error in created hook: "TypeError: can't access property "get", vue__WEBPACK_IMPORTED_MODULE_0__.default.axios is undefined"
在
Api.service.js
中,您应该创建axios实例,而无需将其用作插件:
import axios from 'axios';
const ApiService = () =>
axios.create({
baseURL: 'yourbaseUrl',
withCredentials: false,
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
});
export default ApiService ;
在BannerDataService.js中
使用()
调用函数,如ApiService().get(…)
上述语法独立于ui库/框架。您还没有显示在何处使用Axios
import ApiService from "../api.service";
class BannerDataService {
constructor() {
// ApiService.setHeader();
// ApiService.adminScope();
}
all() {
return ApiService().get('site/banners')
}
get(id) {
return ApiService().get(`site/banners/${id}`)
}
}
export default new BannerDataService();