首頁  >  問答  >  主體

無法在 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 天前484

全部回覆(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
  • 取消回覆