位置: IT常识 - 正文

vue跳转页面后返回不刷新且记录历史滚动条停留位置 (实现了根据不同页面来设置是否刷新记录的功能)(vue 跳转页面)

编辑:rootadmin
vue跳转页面后返回不刷新且记录历史滚动条停留位置 (实现了根据不同页面来设置是否刷新记录的功能) 一、页面返回后不刷新        1.在路由(router/index.js)中,对不刷新的页面设置:meta: { keepAlive: true //true为需要缓存,false为不需要缓存(不需要的也可以不加) },        2.在app.vue中设置:<div id="app"> <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view> </div>

推荐整理分享vue跳转页面后返回不刷新且记录历史滚动条停留位置 (实现了根据不同页面来设置是否刷新记录的功能)(vue 跳转页面),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue点击页面跳转,vue页面跳转原理,vue跳转当前页面,vue页面跳转原理,vue实现跳转页面,vue页面内跳转,vue页面内跳转,vue 跳转页面,内容如对您有帮助,希望把文章链接给更多的朋友!

这时返回就不会触发created和mounted

二、记录滚动条位置,并在页面显示时设置它:        1.在data中定义scrollTop: 0,        2.挂载: //离开路由之前执行的函数,可用于页面的反向传值,页面跳转。 beforeRouteLeave(to, from, next) { console.log("1212-beforeRouteLeave") // 记录滚动条位置 this.scrollTop = document.documentElement.getElementsByClassName("itemBoxs")[0].scrollTop || 0; //组件写法 this.scrollTop = document.documentElement.getElementById('app').scrollTop || 0; //全局写法 console.log("this.scrollTop", this.scrollTop) next() }, // 组件激活时触发 activated() { // 还原滚动条位置 console.log("1212-activated") document.getElementsByClassName("itemBoxs")[0].scrollTop = this.scrollTop || 0; //组件写法 document.getElementById('app').scrollTop = this.scrollTop || 0; //全局写法 },

以上就实现了返回页面后滚动条记忆的功能啦!

vue跳转页面后返回不刷新且记录历史滚动条停留位置 (实现了根据不同页面来设置是否刷新记录的功能)(vue 跳转页面)

如果想实现分情况决定是否记忆滚动条以及刷新组件数据,请继续往下看:

在上述keep-alive的基础上1.定义全局变量(不要在data中定义!!!)

var isRefresh = false; //定义是否需要刷新

注: 之所以在定义全局变量isRefresh而不在data里定义是因为当生命周期进入beforeRouteEnter的时候,此时当前页面还没有被mounted,因此我们是获取不到当前实例this的指向的,变量值也取不到。

2.定义beforeRouteEnter //路由进入前判断是否重新加载还是缓存 beforeRouteEnter(to, from, next){ if(from.name == 'textbookModeSelection'){ //哪个页面 进入需要刷新 isRefresh = true; //需要刷新 }else{ isRefresh = false; } next() },3.定义activated// 组件激活时触发 activated() { if(isRefresh) { //刷新 this.chooseCourseIndex = null; //清空需要的数据 document.getElementsByClassName("itemBoxs")[0].scrollTop = 0; //置顶滚动条 this.init(); //调用获取数据方法 }else{ //不刷新 还原滚动条位置 document.getElementsByClassName("itemBoxs")[0].scrollTop = this.scrollTop || 0; }

注: keep-alive之后不会执行created,mounted钩子了,在activated中判断需要刷新之后,将列表数据初始化,发起请求即可,不刷新时则返回到列表记录的滚动条的位置

4.定义beforeRouteLeave//路由离开前执行beforeRouteLeave(to, from, next) { // 记录滚动条位置 this.scrollTop = document.documentElement.getElementsByClassName("itemBoxs")[0].scrollTop || 0; next() },

完成!

本文链接地址:https://www.jiuchutong.com/zhishi/297302.html 转载请保留说明!

上一篇:HTML唱吧导航栏(唱吧地图)

下一篇:如何使用ssh密钥的方式实现无密码scp传输文件(ssh怎么带密码)

  • 荣耀手机智慧助手在哪开启(荣耀手机智慧助手怎么改名字)

    荣耀手机智慧助手在哪开启(荣耀手机智慧助手怎么改名字)

  • 拼多多免单全额返是真的么(拼多多免单全额返微信零钱)

    拼多多免单全额返是真的么(拼多多免单全额返微信零钱)

  • 小米mix3屏幕刷新率(小米mix3屏幕刷新率是多少赫兹)

    小米mix3屏幕刷新率(小米mix3屏幕刷新率是多少赫兹)

  • 华为sir怎么打开(华为如何开启siri)

    华为sir怎么打开(华为如何开启siri)

  • 显卡一直80度会坏吗(显卡80度会重启吗)

    显卡一直80度会坏吗(显卡80度会重启吗)

  • 一加8pro怎么关机(一加8pro怎么关闭5g)

    一加8pro怎么关机(一加8pro怎么关闭5g)

  • 抖音视频尺寸大小(抖音 视频尺寸)

    抖音视频尺寸大小(抖音 视频尺寸)

  • 计算器关机键是什么字母(计算器关机键是什么开机键是什么)

    计算器关机键是什么字母(计算器关机键是什么开机键是什么)

  • 为什么流量网速慢(为什么流量网速不稳定,时快时慢)

    为什么流量网速慢(为什么流量网速不稳定,时快时慢)

  • 下载路径和安装路径的区别(下载路径和安装路径什么意思)

    下载路径和安装路径的区别(下载路径和安装路径什么意思)

  • 华为的隐私空间占用内存吗(华为的隐私空间和主空间有联系吗)

    华为的隐私空间占用内存吗(华为的隐私空间和主空间有联系吗)

  • 苹果手机电话标志没了(苹果手机电话标识)

    苹果手机电话标志没了(苹果手机电话标识)

  • 笔记本南桥坏了有必要修吗(笔记本南桥坏了怎么修)

    笔记本南桥坏了有必要修吗(笔记本南桥坏了怎么修)

  • emui10多久可以更新(emui10更新时间)

    emui10多久可以更新(emui10更新时间)

  • wps文件储存在手机哪里(wps文件储存在手机哪里找)

    wps文件储存在手机哪里(wps文件储存在手机哪里找)

  • 安卓wps怎么替换文字(手机版wps替换怎么操作步骤)

    安卓wps怎么替换文字(手机版wps替换怎么操作步骤)

  • 怎么查看特别关心人数(怎么查看特别关心自己的人)

    怎么查看特别关心人数(怎么查看特别关心自己的人)

  • 抖音连麦怎么连(抖音连麦怎么连关注的人)

    抖音连麦怎么连(抖音连麦怎么连关注的人)

  • 苹果xsmax支持5g吗

    苹果xsmax支持5g吗

  • 钉钉日志如何抄送(钉钉日志在哪里写)

    钉钉日志如何抄送(钉钉日志在哪里写)

  • 苹果手机怎么开启录屏功能(苹果手机怎么开小窗口)

    苹果手机怎么开启录屏功能(苹果手机怎么开小窗口)

  • airpods刻字了还能退货吗(airpods刻字影响出二手吗)

    airpods刻字了还能退货吗(airpods刻字影响出二手吗)

  • steam换手机了怎么办(steam换手机了怎么改)

    steam换手机了怎么办(steam换手机了怎么改)

  • vivo回车键在哪里设置(vivo手机回车键失灵怎么办)

    vivo回车键在哪里设置(vivo手机回车键失灵怎么办)

  • 什么是工控机(什么是工控机区别与个人电脑)

    什么是工控机(什么是工控机区别与个人电脑)

  • 企业为员工缴纳公积金的通知
  • 实际已缴纳所得税额不自动带出
  • 发债评级机构 有哪些
  • 政府奖励企业如何申请
  • 存货核算与销售核算直接联系的是
  • 无形资产增资需要缴纳个税吗
  • 差旅费应纳入社保缴费基数吗?
  • 未进行账务处理违反什么
  • 其他应收款余额在贷方,怎么填资产负债表
  • 持有至到期投资改名为
  • 差额内部收益率大于基准收益率
  • 售后回租是否确认收入
  • 退货但发票不冲销
  • 筹建期的行政罚款的账务处理怎么做?
  • 固定资产清单申报是什么意思
  • 企业发放工资时,可能涉及的会计科目有
  • 现金流量表的填制方法和构成
  • 国产设备购置投资由设备原价与什么构成
  • 工程建造过程中发生的在建工程人员工资180万尚未支付
  • 推迟确认收入的方法
  • 咨询公司怎么交社保
  • 电梯销售和安装怎么核算收入
  • 销售价格调整
  • 该内存不能为read,要终止程序
  • 广告业年终总结
  • 公司自有房屋出租如何开票
  • win10待机唤醒黑屏死机
  • 个人开工程款票在哪开票
  • 逾期未收回包装物押金会计分录
  • 企业并购特殊性税务处理
  • 属于资本的是
  • 深入理解php中的数字
  • 钉钉工资表如何生成工资条?
  • 【Pytorch深度学习实战】(11)变分自动编码器(VAE)
  • idea可以编写vue吗
  • uname命令详解
  • 增值税一般纳税人
  • java集合框架主要有
  • sql server 2008数据库
  • mongodb数据库的作用
  • 个税申报逾期罚款怎么算
  • 固定资产每月计提还是每年计提
  • 通货膨胀率怎么求
  • 企业捐赠自产产品的所得税处理
  • 公司账户转到公司账户要多久
  • 电商平台经销商
  • 结转本年利润的账务处理
  • 认缴制不会带来的账务问题
  • 工程施工企业收到工程款,怎么做分录
  • 外资企业股权转让给内资企业流程
  • 临时设施摊销属于什么资产
  • 出口货物两张报关单
  • 农民工工资专户怎么发放工资
  • 会计凭证负数金额怎么算
  • 进项票取得晚了怎么抵扣
  • win7打印机共享关闭密码保护
  • 2021win10激活
  • 操作系统 保护
  • macbook备忘录字数统计
  • mac进入睡眠时间长
  • linux分割分区
  • linux安装tmux
  • 如何将文件夹建立成快捷方式
  • win7旗舰版升级win10
  • ugui scrollview
  • JavaScript中的数据类型分为两大类
  • 使用jquery操作dom
  • opengl mc
  • jsp生成uuid
  • andriod 控件
  • [置顶]游戏名:chivalry2
  • webpack vue-loader
  • JavaScript获取元素
  • 简单阐述javascript的主要作用
  • node.js 配置
  • 每天一篇文章锻炼口才的文章
  • 怎样在电子税务局查询财务报表
  • 河南省人民医院和郑大一附院哪个好
  • 进货没有发票怎么报税
  • 杨静儿多少岁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设