在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");
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐