搜尋

首頁  >  問答  >  主體

導航至其他頁面時,ScrollPosition 未設定為頂部

<p>網頁採用主從方式設計。主控具有選項卡(左窗格),按一下這些標籤會在從屬(右窗格)中顯示對應的頁面。例如。 master 有三個兩個選項卡“架構和模板”,其中預設顯示架構。使用者可以使用左側窗格中的選項卡(由主頁面載入)在這兩個頁面(由從頁面載入)之間導覽。 </p> <p>現在,當使用者捲動到架構頁面中的某個位置並導航到範本頁面時,捲動位置不會設定為頂部。但是滾動行為是在路由器檔案中設定的。 </p> <pre class="brush:php;toolbar:false;">const createRouter = () => new VueRouter({ scrollBehavior: () => ({ x: 0, y: 0 }), routes:[ //has all the routes ] });</pre> <p>在scrollBehavior附近設定斷點並觀察時,只要有導航,但從體系結構導航到模板頁面時滾動位置未設定為頂部,就會擊中該行。 </p> <p>但是,當捲動至範本頁面中的特定位置並導航至體系結構頁面時,該頁面將設定為頂部。 </p> <p>也嘗試寫 window.scrollTo(0, 0); templates.ts 中的 Mounted() 內部的函數。即使點擊,但頁面未設定為頂部。 </p> <p>有人可以解釋為什麼會發生這種情況嗎?我嘗試了 stackoverflow 中列出的幾乎所有可能的解決方案。 </p>
P粉556159786P粉556159786488 天前579

全部回覆(1)我來回復

  • P粉248602298

    P粉2486022982023-08-31 00:14:03

    我在vue中也遇到這個問題。如果你想滾動到頂部,你將需要使用這個技巧。而不是 window.scrollTo(0, 0); 在 setTimeout 中使用它,超時時間很少。
    settimeout(()=>{ window.scrollTo(0, 0); }, 10)
    希望這會有所幫助。

    回覆
    0
  • 取消回覆