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

时间:2019-10-10 19:06:08

标签: 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');
    }
  });
}

1 个答案:

答案 0 :(得分:2)

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

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