欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue返回上一頁面時回到原先滾動的位置的方法

 更新時間:2018年12月20日 08:36:49   作者:honey緣木魚  
這篇文章主要介紹了vue返回上一頁面時回到原先滾動的位置的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

項目結(jié)束,測試時發(fā)現(xiàn)在首頁商品列表中,向上滑動幾頁后點擊進入詳情,從詳情頁面返回商品列表時,頁面回到了最頂部,測試不通過說是用戶體驗不好,要求從哪里點擊進去返回該頁面時回到原先的滾動頁面。
思路:因為vue是單頁面應(yīng)用,進入其他頁面時會銷毀該頁面,用keep-alive不讓其刷新,具體實現(xiàn)為:

(1).在App.vue中加入:

<template>
 <div id="app">
  <!--<router-view/>-->
  <!--頁面返回不刷新-->
  <keep-alive>
   <router-view v-if="$route.meta.keepAlive"></router-view>
  </keep-alive>
  <router-view v-if="!$route.meta.keepAlive"></router-view>
 </div>
</template>

(2).index.js頁面

export default new Router({
 routes: [{
  path: '/',
  name: 'index',
  component: index,
  meta: {
   keepAlive: true
  }
 },

這樣在index.vue中,mounted方發(fā)只走一次,在瀏覽器上實現(xiàn)了返回原來滾動位置的目的。但是在手機上測試,發(fā)現(xiàn)沒用,解決手機上實現(xiàn)目的的方法:

//在頁面離開時記錄滾動位置
beforeRouteLeave (to, from, next) {
  this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop
  next()
 },
//進入該頁面時,用之前保存的滾動位置賦值
beforeRouteEnter (to, from, next) {
  next(vm => {
   document.body.scrollTop = vm.scrollTop
  })
 },

OK!實現(xiàn)??!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論