vue中进入详情页记住滚动位置的方法(keep-alive)


Posted in Javascript onSeptember 21, 2018

> 有时业务提出这样一个需求 就是从商品页面进入到列表详情页 要保存当前滚动的位置,这里我就想到了keep-alive

1.首先在路由中引入需要的模块

{ 
path: ‘/scrollDemo', 
name: ‘scrollDemo', 
meta: { 
keepAlive: true // 需要缓存 
}, 
component: resolve => { require([‘../view/scrollDemo.vue'], resolve) } 
}

2.在App.vue中设置缓存组件

<keep-alive>  // 缓存组件跳转的页面
    <router-view v-if="$route.meta.keepAlive" class="ui-view" transition-mode="out-in"></router-view>
  </keep-alive> 

 // 非缓存组件跳转页面
 <router-view v-if="!$route.meta.keepAlive" class="ui-view" transition-mode="out-in"></router-view>

3.在页面注册对应的事件

1. 在return中定义一个初始值 scroll

2. 在mouted中 ,mouted中的方法代表dom已经加载完毕

window.addEventListener('scroll', this.handleScroll);

3.methods 用于存放页面函数

handleScroll () {
    this.scroll = document.documentElement && document.documentElement.scrollTop

    console.log(this.scroll)
   }

4. activated 为keep-alive加载时调用

activated() {
     if(this.scroll > 0){
      window.scrollTo(0, this.scroll);
      this.scroll = 0;
      window.addEventListener('scroll', this.handleScroll);
     }
  }

5.deactivated 页面退出时关闭事件 防止其他页面出现问题

deactivated(){
   window.removeEventListener('scroll', this.handleScroll);
  }

以上这篇vue中进入详情页记住滚动位置的方法(keep-alive)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
Mar 05 Javascript
Node.js实用代码段之正确拼接Buffer
Mar 17 Javascript
js判断浏览器是否支持严格模式的方法
Oct 04 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
Mar 30 Javascript
angularjs实现猜大小功能
Oct 23 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 Javascript
原生js实现获取form表单数据代码实例
Mar 27 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
Oct 30 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
vue 使某个组件不被 keep-alive 缓存的方法
Sep 21 #Javascript
解决vue keep-alive 数据更新的问题
Sep 21 #Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 #Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 #Javascript
使用ng-packagr打包Angular的方法示例
Sep 21 #Javascript
基于vue中keep-alive缓存问题的解决方法
Sep 21 #Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 #Javascript
You might like
php SQL防注入代码集合
2008/04/25 PHP
php 空格,换行,跳格使用说明
2009/12/18 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
python将音频进行变速的操作方法
2020/04/08 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
校园歌咏比赛主持词
2014/03/18 职场文书
运动会标语
2014/06/21 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
诚实守信主题班会
2015/08/13 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
PyTorch 如何自动计算梯度
2021/05/23 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android