vue.js - 如何访问 Nuxt.js 中 axios 插件内部的当前 fullPath?

标签 vue.js vuejs2 axios nuxt.js

我正在尝试从 Axios 的 Nuxt 插件中通过 route.fullPath 获取当前路径。它在一定程度上起作用,但看起来因为它来自上下文,所以它只在页面最初加载时设置路径。如何在 Axios 错误发生时显示当前的 route.fullPath (在任何路线更改之后)?

export default function ({ $axios, store, route, redirect }) {
  $axios.onError((error) => {
    if (error.response.status === 401) {
      store.commit('misc/setRedirect', route.fullPath);

      redirect('/sign-in');
    }
  });
}

最佳答案

这似乎是一个错误,但作为解决方法,您可以通过 app.router.currentRoute 获取当前路线插件的 app 参数:

// plugins/axios.js
export default function ({ $axios, app }) {
  $axios.onError(error => {
    console.log(error, app.router.currentRoute)
  })
}

关于vue.js - 如何访问 Nuxt.js 中 axios 插件内部的当前 fullPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329587/

相关文章:

Vue.js 如何在 v-for 循环中使用单选按钮

javascript - 在 Vue.js 中单击按钮时清除文本字段?

vue.js - Vue js如何使用props值到v-model

header - 使用 Axios 获取请求的 "Content-Disposition"Header

javascript - 来自两个不同调用的表的自定义过滤器

javascript - 使用 JS 消费 Rails send_data 响应

vue.js - VueJS 自定义指令 + 发出事件

javascript - Vuejs ajax 调用不将更改映射到基础 html 表

javascript - 将列表中项目的两个属性相加(javascript)

typescript - 使用 Vue 类组件、Vuex 类时出现 ESLint 错误