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 相关文章推荐
javascript中的有名函数和无名函数
Oct 17 Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
node.js实现登录注册页面
Apr 08 Javascript
jquery网页加载进度条的实现
Jun 01 jQuery
Node.js利用断言模块assert进行单元测试的方法
Sep 28 Javascript
JavaScript实现获取select下拉框中第一个值的方法
Feb 06 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
Sep 04 Javascript
vue实现滑动到底部加载更多效果
Oct 27 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
vue下载二进制流图片操作
Oct 26 Javascript
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函数utf8转gb2312编码
2006/12/21 PHP
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
php通用防注入程序 推荐
2011/02/26 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
python实现隐马尔科夫模型HMM
2018/03/25 Python
python 接口返回的json字符串实例
2018/03/27 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
Django如何将URL映射到视图
2019/07/29 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
Python LMDB库的使用示例
2021/02/14 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
安全生产专项整治方案
2014/05/06 职场文书
安全生产演讲稿
2014/05/09 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书