vue返回上一页面时回到原先滚动的位置的方法


Posted in Javascript onDecember 20, 2018

项目结束,测试时发现在首页商品列表中,向上滑动几页后点击进入详情,从详情页面返回商品列表时,页面回到了最顶部,测试不通过说是用户体验不好,要求从哪里点击进去返回该页面时回到原先的滚动页面。
思路:因为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!实现!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
jQuery操作表单常用控件方法小结
Mar 23 Javascript
Javascript获取表单名称(name)的方法
Apr 02 Javascript
JQuery节点元素属性操作方法
Jun 11 Javascript
基于jQuery实现在线选座之高铁版
Aug 24 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
Sep 25 Javascript
Vue.js 表单控件操作小结
Mar 29 Javascript
如何使node也支持从url加载一个module详解
Jun 05 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 Javascript
JavaScript学习笔记之图片库案例分析
Jan 08 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 #Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 #Javascript
JavaScript链式调用实例浅析
Dec 19 #Javascript
浅谈vue后台管理系统权限控制思考与实践
Dec 19 #Javascript
如何为vue的项目添加单元测试
Dec 19 #Javascript
浅谈Angular7 项目开发总结
Dec 19 #Javascript
mockjs+vue页面直接展示数据的方法
Dec 19 #Javascript
You might like
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
YII实现分页的方法
2014/07/09 PHP
PHP多线程类及用法实例
2014/12/03 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
使用Python写个小监控
2016/01/27 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
Django自定义认证方式用法示例
2017/06/23 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
PyQt5实现登录页面
2020/05/30 Python
python接口自动化框架实战
2020/12/23 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
学生励志演讲稿
2014/01/06 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
金秋助学感谢信
2015/01/21 职场文书
幼师个人总结范文
2015/02/28 职场文书
大学同学聚会感言
2015/07/30 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书