最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 22:07:19
文档

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

vue中进入详情页记住滚动位置的方法(keep-alive):> 有时业务提出这样一个需求 就是从商品页面进入到列表详情页 要保存当前滚动的位置,这里我就想到了keep-alive 1.首先在路由中引入需要的模块 { path: /scrollDemo', name: scrollDemo', meta: { keepAlive: true //
推荐度:
导读vue中进入详情页记住滚动位置的方法(keep-alive):> 有时业务提出这样一个需求 就是从商品页面进入到列表详情页 要保存当前滚动的位置,这里我就想到了keep-alive 1.首先在路由中引入需要的模块 { path: /scrollDemo', name: scrollDemo', meta: { keepAlive: true //

> 有时业务提出这样一个需求 就是从商品页面进入到列表详情页 要保存当前滚动的位置,这里我就想到了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)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

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

vue中进入详情页记住滚动位置的方法(keep-alive):> 有时业务提出这样一个需求 就是从商品页面进入到列表详情页 要保存当前滚动的位置,这里我就想到了keep-alive 1.首先在路由中引入需要的模块 { path: /scrollDemo', name: scrollDemo', meta: { keepAlive: true //
推荐度:
标签: VUE 滚动 滚动的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top