中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在vue中利用keep-alive保持滾動條位置

發布時間:2021-05-17 18:08:05 來源:億速云 閱讀:1094 作者:Leah 欄目:web開發

怎么在vue中利用keep-alive保持滾動條位置?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

首先給路由增加一個對象meta:

meta: {
  keepAlive: true,
  scrollTop: 0,
}

keepAlive是否需要保持頁面,scrollTop記錄頁面的滾動位置。

然后在app.vue增加如下入口:

<keep-alive>
  <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>

這樣就啟用keep-alive了。

然后在全局main.ts增加一個全局路由控制:

router.beforeEach((to: Route, from: Route, next: () => void) => {  
  if (from.meta.keepAlive) {
  const $content = document.querySelector('#content');
  const scrollTop = $content ? $content.scrollTop : 0;
  from.meta.scrollTop = scrollTop;
 }
 next();
});

很簡單,離開的時候判斷當前頁是否需要保持頁面,如果需要,記錄頁面主容器content的滾動位置,寫入路由。

然后,每次進入保持好的頁面,讀取滾動條位置scrollTop,修改主容器的scrollTop,就搞定了:

public activated() {
  const scrollTop = this.$route.meta.scrollTop;
  const $content = document.querySelector('#content');
  if (scrollTop && $content) {
   $content.scrollTop = scrollTop;
  }
}

為什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創建可維護性和可測試性更強的代碼庫,Vue允許可以將一個網頁分割成可復用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網頁中相應的地方,所以越來越多的前端開發者使用vue。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

穆棱市| 敦煌市| 霍林郭勒市| 茶陵县| 金乡县| 宜宾县| 鹰潭市| 囊谦县| 高州市| 定边县| 遵义市| 毕节市| 伊春市| 钟祥市| 福贡县| 武川县| 新龙县| 崇左市| 铁岭市| 吉安县| 海丰县| 嘉禾县| 大新县| 连州市| 台北市| 宜宾市| 敦化市| 固镇县| 武安市| 墨玉县| 清远市| 和顺县| 红河县| 义乌市| 库车县| 清流县| 紫阳县| 庆安县| 开阳县| 海城市| 南昌市|