vue 定义了axios但报错无法找到

发布于 2022-09-06 21:20:38 字数 779 浏览 21 评论 0

clipboard.png
index中

clipboard.png

main中

clipboard.png

index router

clipboard.png

报错

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

你列表最软的妹 2022-09-13 21:20:38

把router的index.js里面的路由对象的components改成component

components是用来对多个路由出口进行渲染的

另外Vue.prototype.$axios = axios这种方式引用axios是没毛病的。

情释 2022-09-13 21:20:38

首先你访问的方式就不对。组件里面的this是在vue.component 中也就是当前环境是vue.component的实例继承的自然是VueComponent这个类,而你赋值的类是Vue。所以压根访问不到

而你应该这样访问

clipboard.png

vm才是Vue的实例,

clipboard.png

这样才能访问到

被翻牌 2022-09-13 21:20:38

我想知道你是从哪看的可以这样用的……?
而且你直接 axios('/api/getNewList') 不好么…为什么要让自己多写一点……

左秋 2022-09-13 21:20:38

npm install axios --save
直接在build文件夹下webpack.base.conf.js
module.exports里面增加:

plugins: [
    new webpack.ProvidePlugin({
          axios: 'axios',
      })
  ]

就能全局调用axios了

生生漫 2022-09-13 21:20:38

我一般通过new Axios,创建一个实例给接口使用,方便统一配置和拦截

const axios = Axios.create({
  withCredentials: true,
  timeout: 10000,
  headers: {
    'Accept': 'application/json;charset=utf-8'
  }
})

axios.interceptors.request.use(async config => {
  let userSelf = vuet.getModule('user-self')
  if (userSelf && userSelf.token) {
    await userSelf.updateToken(40)
    return config
  } else {
    return config
  }
})

axios.interceptors.response.use((response) => {
  let {status, data} = response
  if (status === 200 || status === 201) {
    // ...
  }
}

const post=...
const remove =...
export {axios, get, post, put, remove as delete}
别的地方用的时候,import下也不是难事

import ApiUtils from '@/api/'
...
ApiUtils.get('/api/auth/menu')
ApiUtils.delete(`/api/auth/menu/${id}`)
鹿港巷口少年归 2022-09-13 21:20:38

image.png
image.png
你们是怎么弄的,挂载全局上怎么没用了

兔小萌 2022-09-13 21:20:38

我的这个方式没问题,原来是我的router里component 多加了个s然后就全部失效了。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文