Vue 3http.js中使用this.$router.push失效

直接引入@/router/index.ts的router就好了

import router from "@/router/index.ts"

//使用

if (error.response) {
            console.log("status:" + error.response.status)
            switch (error.response.status) {
                case 401:
                    //完善登录跳转
                    alert("身份认证失败~")
                    // @ts-ignore
                    router.replace({
                            //传递参数使用query的话,指定path或者name都行,但使用params的话,只能使用name指定
                            path: '/login',
                            query: {
                                auth: "noAuth"
                            }
                        }
                    );
                    break;
                default:
                    alert("未知错误~")
            }
        }

router.ts文件

需要暴露出去 router

import {createRouter, createWebHistory, RouteRecordRaw} from 'vue-router'

const routes: Array<RouteRecordRaw> = [
    {
        path: '/',
        name: 'Home',
        component: () => import( '../views/Home.vue')
    }
]

const router = createRouter({
    history: createWebHistory(process.env.BASE_URL),
    routes
})
//注意这里:只要把这个暴露出去就好了
export default router


版权声明:本文为weixin_43505211原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。