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

vue返回上一頁(yè)面時(shí)回到原先滾動(dòng)的位置的方法

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

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

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

<template>
 <div id="app">
  <!--<router-view/>-->
  <!--頁(yè)面返回不刷新-->
  <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頁(yè)面

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

這樣在index.vue中,mounted方發(fā)只走一次,在瀏覽器上實(shí)現(xiàn)了返回原來(lái)滾動(dòng)位置的目的。但是在手機(jī)上測(cè)試,發(fā)現(xiàn)沒(méi)用,解決手機(jī)上實(shí)現(xiàn)目的的方法:

//在頁(yè)面離開(kāi)時(shí)記錄滾動(dòng)位置
beforeRouteLeave (to, from, next) {
  this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop
  next()
 },
//進(jìn)入該頁(yè)面時(shí),用之前保存的滾動(dòng)位置賦值
beforeRouteEnter (to, from, next) {
  next(vm => {
   document.body.scrollTop = vm.scrollTop
  })
 },

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

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

相關(guān)文章

最新評(píng)論