首页  >  问答  >  正文

无法在 Vue 3 中使用 router.push 和 unplugin-vue-router 依赖项

我正在尝试将 Vue 2 项目迁移到 Vue 3,在 Vue 3 项目中它有一个名为“unplugin-vue-router”的库,它是 Vue 中基于自动文件的路由,支持 TS。但是在之前的vue 2(vue-router)登录页面里面有以下方法:

created() {
     if (this.loggedIn) {
        this.$router.push('/projects');
     }
}

所以我尝试在 Vue 3 中重写它:

onMounted(() => {
  if (loggedIn) {
    router.push('/projects');
  }
});

但它显示错误:找不到名称“router”.ts(2304)

所以我的问题是如何重写它并使其与 vue 3 一起工作,以及我可以在哪里更改 unplugin-vue-router 的配置。

P粉864594965P粉864594965277 天前474

全部回复(1)我来回复

  • P粉155832941

    P粉1558329412024-01-17 09:13:08

    composition-api router中是从vue-router插件导入的。

    为了使用它,您需要按如下方式声明它

    import { userouter } from "vue-router";
    
    const router = useRouter();
    onMounted(() => {
      if (loggedIn) {
        router.push('/projects');
      }
    });
    
    

    查看 vue-router 了解更多详细信息。

    回复
    0
  • 取消回复