为了账号安全,请及时绑定邮箱和手机立即绑定

$router' of undefined 是什么原因?

$router' of undefined 是什么原因?

慕姐4208626 2019-03-10 14:28:37
有一个需求:后端返回状态码-999表示token过期,前端要跳到登录页。我的代码:http.js    import axios from 'axios'     import Vue from "vue"     import VueRouter from 'vue-router'     import { Message } from "element-ui";    import common from './global.js'     Vue.use(VueRouter)      axios.interceptors.response.use(    response => {        //token过期处理         if(response.data.code == -999){             Message({                 message: '身份已过期,请重新登录!',                type: 'warning'             });            this.$router.push('/login');            this.common.delCookie('token');            this.common.delLocal();         }        return response;     },    error => {         Message({             message: '服务器响应失败',            type: 'warning'         });        return Promise.reject(error.response.data) });提示了一句“Cannot read property '$router' of undefined”
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

import router from '@/router';
...
router.push('/login');


查看完整回答
反对 回复 2019-03-10
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

用axios的方法会改变this指向,用axios方法前,缓存this指针

查看完整回答
反对 回复 2019-03-10
  • 2 回答
  • 0 关注
  • 5489 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信