在ts文件中,使用了useRouter
来进行页面跳转,但是结果却是undifend
import { useRouter } from "vue-router";
const router = useRouter();
router.push("/xxxx"); //报错,router为undifend
根本原因是这种写法只能用于setup,不能用于hooks里面,所以报错
解决方法
main.ts
文件里面不是use()
了路由文件嘛,在ts文件里面也使用这个,这样就可以正常跳转了
// main.ts
import { createApp } from 'vue';
import 'element-plus/dist/index.css';
import App from './App.vue';
import { router } from "@/router/index.ts"
const app = createApp(App);
app.use(router);
app.mount('#app');
// 需要使用router的ts文件
import { router } from "@/router/index.ts";
router.push("/xxxx");