首頁  >  問答  >  主體

Vue JS Router:重定向時重新載入頁面

我有一個有 Login.vue 和 Home.vue 檔案的應用程式。因為我將管理 HTML 網站轉換為 vue 3 應用程序,所以我的 javascript 僅適用於頁面重新加載。在建立應用程式時,我選擇為 SPA 新增路由器,也許我不應該這樣做。到目前為止,視圖正在工作,除非我從登入重定向到主頁而不重新載入。由於它不會重新加載,因此我的導覽列或任何依賴 JS 的功能將無法運作。如何透過頁面重新載入從登入重定向到主頁?目前,我有以下程式碼,但仍然無法運作。

this.$router.push({
      path: "/admin/home",
      reload: true
    });


#
P粉087074897P粉087074897358 天前673

全部回覆(2)我來回復

  • P粉543344381

    P粉5433443812023-10-27 10:44:15

    導航到新 URL 時,Vue Router 不會重新載入頁面。

    您可以針對您的問題嘗試此程式碼:

    const url = new URL('/admin/home', window.location.origin)
    window.location.href = url.toString()

    希望這有幫助

    回覆
    0
  • P粉009828788

    P粉0098287882023-10-27 10:06:32

    您可以使用帶有空白參數的 this.$router.go() 來重新載入頁面。結合 this.$router.push({ path: '/admin/home' }) 您可以在不使用普通 JS 功能的情況下實現它。

    
        
    sssccc
    

    請注意我是如何在 $router.push() 之後使用 .then 的。如果沒有 then,頁面重新載入的速度會太快,沒有時間更改路線。

    作為獎勵,它可以讓您使用 $router.push 的所有功能(例如使用 { name: 'home' } 等參數。

    回覆
    0
  • 取消回覆