首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:使用axios驱动程序时未定义this.Vue.axios

TypeError:使用axios驱动程序时未定义this.Vue.axios
EN

Stack Overflow用户
提问于 2020-05-20 07:37:16
回答 1查看 288关注 0票数 1

使用vue-auth (GitHub上的vue-auth)和Axios驱动程序,我在浏览器控制台中得到以下错误:

TypeError: this.Vue.axios is undefined

main.js

代码语言:javascript
复制
import Vue from "vue";
import App from "./App.vue";
import axios from "axios";
import "./libs/vue-auth";

./libs/vue-auth.js

代码语言:javascript
复制
import Vue from "vue";
import vueAuth from "@websanova/vue-auth";
import bearer from "@websanova/vue-auth/drivers/auth/bearer";
import axiosHttp from "@websanova/vue-auth/drivers/http/axios.1.x";
import vueRouter from "@websanova/vue-auth/drivers/router/vue-router.2.x";

// Vue.axios = axios;

Vue.use(vueAuth, {
  auth: bearer,
  http: axiosHttp,
  router: vueRouter
  // ...
});

当删除Vue.axios = axios;的注释时,乍一看似乎是可行的。所以我想把Vue.axios = axios;移到main.js上,但是它还是不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 08:03:23

Vue.axios可以手动分配,也可以用vue-axios插件分配。因为@websanova/vue-auth/drivers/http/axios.1.x期望它存在于插件初始化上:

代码语言:javascript
复制
import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
...

Vue.use(VueAxios, axios)
Vue.use(vueAuth, ...)

Vue.use(VueAxios, axios)迁移到main.js将无法工作,因为它应该在导入./libs/vue-auth之前进行评估,并且不能根据JS规范在导入之前进行。Vue.use(...)要么一起迁移到main.js,要么两者都位于./lib模块中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61907539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档