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的键盘控制事件说明
Apr 15 Javascript
javascript 面向对象编程 聊聊对象的事
Sep 17 Javascript
基于jquery的表格排序
Sep 11 Javascript
js中数组Array的一些常用方法总结
Aug 12 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
javascript实现base64 md5 sha1 密码加密
Sep 09 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
表单元素值获取方式js及java方式的简单实例
Oct 15 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
Sep 20 Javascript
详解Nuxt.js Vue服务端渲染摸索
Feb 08 Javascript
vue中axios的封装问题(简易版拦截,get,post)
Jun 15 Javascript
jquery选择器和属性对象的操作实例分析
Jan 10 jQuery
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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
如何去掉文章里的 html 语法
2006/10/09 PHP
初识php MVC
2014/09/10 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
javascript 面向对象的JavaScript类
2010/05/04 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
Python中import机制详解
2017/11/14 Python
tensorflow识别自己手写数字
2018/03/14 Python
用python爬取租房网站信息的代码
2018/12/14 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
Django REST framework 分页的实现代码
2019/06/19 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
python实现拼接图片
2020/03/23 Python
python如何建立全零数组
2020/07/19 Python
详解python中的闭包
2020/09/07 Python
python pillow库的基础使用教程
2021/01/13 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
2014七年级班主任工作总结
2014/12/05 职场文书
公司承诺书格式范文
2015/04/28 职场文书