这篇文章主要介绍了vue返回上一页面时回到原先的位置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

项目结束,测试时发现在首页商品列表中,向上几页后点击进入详情,从详情页面返回商品列表时,页面回到了最顶部,测试不通过说是用户体验不好,要求从哪里点击进去返回该页面时回到原先的页面。
思路:因为vue是单页面应用,进入其他页面时会销毁该页面,用keep-alive不让其刷新,具体实现为:

(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方发只走一次,在浏览器上实现了返回原来位置的目的。但是在手机上测试,发现没用,解决手机上实现目的的方法:

//在页面离开时记录位置
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!实现!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持爱安网。

最新资讯
百度收购YY传闻背后:业务拓展能否“1+1大于2”?

百度收购YY传闻背后:业

对于欢聚时代而言,当下这个时间点确实颇为微妙。至少从
信用卡融合科技样本调查:美团与区域性银行深度合作收效几何

信用卡融合科技样本调

随着零售转型日益迫切,越来越多区域性银行将信用卡业务
报告:2020上半年美国音乐流媒体订阅量达到7210万 同比增长24%

报告:2020上半年美国音

2020年上半年,美国付费音乐订阅量再次上升。美国唱片业
蚂蚁IPO“折让”定价:发行价68.8元 预期市盈率24倍

蚂蚁IPO“折让”定价:

根据中金、摩根士丹利、花旗、摩根大通等主要投行的盈
苹果明年发布两款无线耳机 立讯精密、歌尔股份有望获大部分订单

苹果明年发布两款无线

知情人士表示,苹果已在内部讨论了在明年上半年推出入门
Facebook为其平台加入免费云游戏功能

Facebook为其平台加入

Facebook发表博文称,并补充道所有基于云的流媒体游戏都
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,