纯js文件中,怎么使用vue的路由

1、封装了一个axios的请求状态拦截的js文件,当状态码是404的时候,跳转到对应路由页面。但是纯js中怎么使用路由呢,this.$router()中的this怎么指向vue的实例对象? 难道在当前文件引入vue在new出来?
2、

js 代码如下

import Axios from "axios";
let axios_instance = Axios.create({
  ...
});
axios_instance.interceptors.response.use(response => {
  return response
}, err => {
  if (err && err.response) {
    switch (err.response.status) {
      case 404:
        //this.$router('/error');
        err.message = '请求错误,未找到该资源';
        break;
    }
  }
  return Promise.resolve(err.response)
});

阅读 8.9k
1 个回答

可以在js文件里面导入router呀,如:

/* 这个路径就是你的router.js的路径 */
import router from "../router";

import Axios from "axios";
let axios_instance = Axios.create({
  ...
});
axios_instance.interceptors.response.use(response => {
  return response
}, err => {
  if (err && err.response) {
    switch (err.response.status) {
      case 404:
      
        router.push('/error');
        
        err.message = '请求错误,未找到该资源';
        break;
    }
  }
  return Promise.resolve(err.response)
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题