位置: 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怎么带密码)

  • 联通彩铃怎么取消(联通彩铃怎么取消掉)

    联通彩铃怎么取消(联通彩铃怎么取消掉)

  • 微信收款失败会有记录吗(微信收款失败会有提示音吗)

    微信收款失败会有记录吗(微信收款失败会有提示音吗)

  • 手机上wps怎么打印出来(怎么下载wps在手机上)

    手机上wps怎么打印出来(怎么下载wps在手机上)

  • 充电接口检测到液体(充电接口检测到液体 iPhone)

    充电接口检测到液体(充电接口检测到液体 iPhone)

  • 彩信视频可以发几秒(彩信视频发送限制)

    彩信视频可以发几秒(彩信视频发送限制)

  • 视频过期怎么恢复(视频过期怎么恢复原视频)

    视频过期怎么恢复(视频过期怎么恢复原视频)

  • 淘宝卖家能看到访客吗(淘宝卖家能看到买家的支付宝账号吗)

    淘宝卖家能看到访客吗(淘宝卖家能看到买家的支付宝账号吗)

  • 华为p40能无线充电么(华为p60可以无线充电么)

    华为p40能无线充电么(华为p60可以无线充电么)

  • 苹果美版无锁是什么意思(苹果美版无锁是怎么来的)

    苹果美版无锁是什么意思(苹果美版无锁是怎么来的)

  • 华为4pro手环可以接电话吗(华为4pro手环可以游泳)

    华为4pro手环可以接电话吗(华为4pro手环可以游泳)

  • 苹果11充电发热(苹果11充电发热怎么解决)

    苹果11充电发热(苹果11充电发热怎么解决)

  • 没开启拼小圈别人能看到吗(没有开启拼小圈会显示好友买过吗)

    没开启拼小圈别人能看到吗(没有开启拼小圈会显示好友买过吗)

  • ios储存空间与app测出不同(ios 储存空间)

    ios储存空间与app测出不同(ios 储存空间)

  • 酷狗会员最多几个人可以同时登录(酷狗会员最多几个人用)

    酷狗会员最多几个人可以同时登录(酷狗会员最多几个人用)

  • 咋分辨手机有没有钢化膜(咋分辨手机有没有被监控)

    咋分辨手机有没有钢化膜(咋分辨手机有没有被监控)

  • 相机mp是什么意思(相机mpx是什么意思)

    相机mp是什么意思(相机mpx是什么意思)

  • 微信在哪里设置密码锁(微信在哪里设置添加我的方式)

    微信在哪里设置密码锁(微信在哪里设置添加我的方式)

  • iphone11亮度自动调节(iphone 11自动亮度)

    iphone11亮度自动调节(iphone 11自动亮度)

  • vivoy51通讯录黑名单在哪(vivo手机通讯录里面的黑名单在哪里)

    vivoy51通讯录黑名单在哪(vivo手机通讯录里面的黑名单在哪里)

  • 抖音作品怎么设私密(抖音作品怎么设置不让别人看)

    抖音作品怎么设私密(抖音作品怎么设置不让别人看)

  • 荣耀20s摄像头品牌(华为荣耀20摄像头介绍)

    荣耀20s摄像头品牌(华为荣耀20摄像头介绍)

  • xs开机怎么开(xs的开机键在哪里)

    xs开机怎么开(xs的开机键在哪里)

  • 嘀嗒拼车接单流程(嘀嗒拼车怎么收费标准)

    嘀嗒拼车接单流程(嘀嗒拼车怎么收费标准)

  • 抖音视频跟照片怎么一起合成上传(抖音视频跟照片怎么合成一起)

    抖音视频跟照片怎么一起合成上传(抖音视频跟照片怎么合成一起)

  • 微信不能申请收款码是怎么回事(微信不能申请收款账号)

    微信不能申请收款码是怎么回事(微信不能申请收款账号)

  • 怎么激活Windows11?win11密钥+激活工具+激活优化版(新笔记本怎么激活windows11)

    怎么激活Windows11?win11密钥+激活工具+激活优化版(新笔记本怎么激活windows11)

  • YOLOv5源码逐行超详细注释与解读(4)——验证部分val(test).py(yolov5源码讲解)

    YOLOv5源码逐行超详细注释与解读(4)——验证部分val(test).py(yolov5源码讲解)

  • 一般纳税人开普票税率是3%还是13%
  • 企业所得税法
  • 二手车转让增值税计税依据
  • 外部审计内容是什么
  • 实际成本法和计划成本法的会计分录
  • 固定资产40%部分能抵即征即退项目吗
  • 销售商品提供劳务收到的现金包括
  • 委托代征税务
  • 菜场摊位租赁合同
  • 材料成本差异结转借贷方向
  • 工资税后扣款
  • 未计提职工教育经费汇算清缴
  • 土地受让人是什么意思
  • 境外所得纳税
  • etc发票进项抵扣的最新政策
  • 进项大于销项的分录怎么写
  • 减免附加税的账户有哪些
  • 红字发票需要盖章子吗
  • 定额发票验旧怎么操作
  • 罚款费用报销单怎么写
  • 应付质保金到期怎么办
  • 酒店水电费分录
  • 预缴地实现的月销售额未超过
  • 联想y400怎么装win10
  • windows10如何关闭杀毒软件
  • 会计分录是怎么样的
  • 上年超额广告费会计分录
  • 投标保证金利息怎么做账
  • 数人侵权行为的类型
  • win10如何设置快捷键截图
  • 摊销费用的会计科目
  • 应交税金的含义
  • KbdTray.exe - KbdTray是什么进程 有什么作用
  • 外商投资企业有哪些出资方式
  • php如何实现自动加载
  • php cache缓存
  • vue如何实现登录
  • thinkphp6.0完全开发手册
  • php sha1加密 解密
  • 企业净利润率是多少好
  • 人力资源外包服务企业
  • 公司缴纳社保如何做账
  • 礼物提前到会不会不好
  • 会计caac是什么意思
  • 承兑汇票私人贴息双方都违法吗
  • 广告制作费属于广告服务吗
  • 银行手续费未开发票前计入什么科目
  • 小规模纳税人怎么申报增值税报表
  • 注册资金认缴期限一般多少
  • 先买再卖影响可取现金吗
  • 收入费用表本期盈余与资产负债表不一致
  • 购进免税农产品发生非正常损失
  • 法院退诉讼费账务处理
  • 公司员工借款后还款收据怎么填
  • 筹建期费用需要结转吗
  • 企业商业汇票到期款项存入银行
  • 制造费用怎么结算
  • linux查找内容在哪个文件中
  • centos6.10修改主机名
  • fedora s7
  • xp系统安装流程图
  • vmmem进程是什么
  • 定时清理注册表会怎么样
  • win8应用显示错误
  • 安装空调
  • xp开机启动项在哪里设置方法
  • winxp能玩啥大型游戏
  • win10系统可以不用杀毒软件吗
  • linux如何修改gid
  • 索引位置怎么是c盘?
  • cocos2dx 3.0 beta android环境配置
  • node.js报错998
  • node.js文件流
  • 开票软件连接服务器失败什么原因
  • 以前期间进项税额转出 怎样操作
  • 四川省职称查询平台
  • 个体税务注销退税怎么退
  • 河南省单位怎么打印社保花名册
  • 邮政清关费用怎么算
  • 专用发票收款人可以盖私章吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设