vue3 路由跳转:Cannot read properties of undefined (reading 'push')

发布时间 2023-04-21 10:01:13作者: 骚年上天不?
在vue2中我们通常会在全局的接口请求里面设置拦截器,如果登录失效或者说其他情况需要跳转到登录页面或者说其他页面的,我们就使用this.$router.push实现
vue3中同样使用改方式:
import { useRouter } from 'vue-router';

const router = useRouter();

router.push()

但是控制台会报错:

Cannot read properties of undefined (reading 'push')

这是英文useRoute, useRouter必须写到setup中,强行在函数中使用这两会报undefined,导致无法获取路由数据和路由方法。

此时要修改引入方式:

import Vrouter from "@/router"、

const router = Vrouter;

router.push()

这样就没问题了