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

  • 苹果12电池多大(苹果12电池多大能撑多久)

    苹果12电池多大(苹果12电池多大能撑多久)

  • 华为nova4如何返回上一页(华为手机nova4怎么按返回)

    华为nova4如何返回上一页(华为手机nova4怎么按返回)

  • 兄弟1208硒鼓清零(兄弟1208硒鼓清零的操作方法)

    兄弟1208硒鼓清零(兄弟1208硒鼓清零的操作方法)

  • iphonexsmax面部识别失灵(iphonexsmax面部识别坏了修多少钱)

    iphonexsmax面部识别失灵(iphonexsmax面部识别坏了修多少钱)

  • 映趣和小米什么关系(映趣blackstone3和小米谁好)

    映趣和小米什么关系(映趣blackstone3和小米谁好)

  • 美团到店自取怎么确认收货(美团到店自取怎么设置商家版)

    美团到店自取怎么确认收货(美团到店自取怎么设置商家版)

  • 钉钉卸载了再安装信息还在吗(钉钉卸载了再安装不了怎么办)

    钉钉卸载了再安装信息还在吗(钉钉卸载了再安装不了怎么办)

  • 抖音怎么私聊关注的人(抖音怎么关私信?)

    抖音怎么私聊关注的人(抖音怎么关私信?)

  • 微信看不到对方的个性签名(微信看不到对方头像是不是被拉黑了)

    微信看不到对方的个性签名(微信看不到对方头像是不是被拉黑了)

  • 苹果se有没有面部识别功能(iphonese有面容吗)

    苹果se有没有面部识别功能(iphonese有面容吗)

  • 苹果充电头发烫是什么原因(苹果充电头发烫充不进去电)

    苹果充电头发烫是什么原因(苹果充电头发烫充不进去电)

  • 怎样缓存电视剧(爱奇艺怎样缓存电视剧)

    怎样缓存电视剧(爱奇艺怎样缓存电视剧)

  • 耳机麦克风在哪(耳机麦克风在哪个位置)

    耳机麦克风在哪(耳机麦克风在哪个位置)

  • 常用鼠标器类型有(常用鼠标器类型油)

    常用鼠标器类型有(常用鼠标器类型油)

  • 什么的原码反码补码是一样的(什么原码反码补码)

    什么的原码反码补码是一样的(什么原码反码补码)

  • r330打印机双闪怎么办(l130打印机双闪)

    r330打印机双闪怎么办(l130打印机双闪)

  • 苹果手表蜂窝支持地区(苹果手表蜂窝支持电信卡吗)

    苹果手表蜂窝支持地区(苹果手表蜂窝支持电信卡吗)

  • word分页符快捷键(word分页的快捷键)

    word分页符快捷键(word分页的快捷键)

  • 为什么苹果商店下载一直需要验证(为什么苹果商店登不上去)

    为什么苹果商店下载一直需要验证(为什么苹果商店登不上去)

  • 苹果vue视频怎么加音乐(苹果vue怎么导入音乐)

    苹果vue视频怎么加音乐(苹果vue怎么导入音乐)

  • 金陵位于哪个省(金陵位于哪个省市)

    金陵位于哪个省(金陵位于哪个省市)

  • 三星s5是4g手机吗(三星s5手机参数详细参数)

    三星s5是4g手机吗(三星s5手机参数详细参数)

  • 飞机上可以接打电话吗(飞机上可以接打电话嘛)

    飞机上可以接打电话吗(飞机上可以接打电话嘛)

  • vue中Number方法将字符串转换为数字(vue的number)

    vue中Number方法将字符串转换为数字(vue的number)

  • 永磁同步电机基本控制方法(永磁同步电机基础理论pdf)

    永磁同步电机基本控制方法(永磁同步电机基础理论pdf)

  • 新公司个税申报怎么操作
  • 税额四舍五入的计算公式
  • 公司月底做账大约几天
  • 如何去办理小型微利企业资格每年都需要认证吗?
  • 企业会计一般做什么
  • 稽查查补税款能缓缴
  • 收到物业费普通发票做账
  • 多付银行承兑退回的会计分录怎么写?
  • 电费做其他业务收入的账务处理怎么做?
  • 计提工资和应付职工薪酬怎么不一样
  • 劳务外包要通过应付职工薪酬吗
  • 酒店代金券使用规则
  • 国税局可以开增值税专用发票吗
  • 国债逆回购收益什么时候到账
  • 营改增后劳务公司账务处理
  • 企业所得税汇算清缴申报表
  • 对方公司破产债务怎么办
  • 最新土地增值税实施细则
  • 计提员工社保拿什么做原始凭证?
  • windows10显示文件格式
  • 关闭系统保留空间
  • 应交税费贷方余额负数表示什么
  • 几种方法解决一个问题的架构图怎么画
  • 青岛酒店式公寓出租
  • 政府发放奖励金如何入账
  • win11安装程序提示非管理员账号
  • 企业开发产品转为自用的,不得在税前扣除折旧费用
  • PHP:oci_cancel()的用法_Oracle函数
  • 工程结算
  • 结转出租包装物因不能使用而报废的残料价值
  • 基建 技改
  • 用chatgpt写insar地质灾害的论文,重复率只有1.8%,chatgpt4.0写论文不是梦
  • this.$router.push点了后hash地址改变了,页面却不跳转
  • python如何导入excel
  • php实现上传图片功能
  • 水电费发票如何分配给客户
  • 客户借款怎么做账
  • 无形资产和固定资产减值准备可以转回吗
  • 公司记账可以不开发票吗
  • 已抵扣的发票冲红会计分录
  • 丢失增值税发票已报税证明单取消
  • sql cell函数
  • 小规模纳税人企业所得税2023
  • 息税前利润变动率怎么算
  • 工程分包合同协议书
  • 投资性房地产累计摊销
  • 设计协会会长
  • 砖厂会计账务处理流程图
  • 其他综合收益转到留存收益
  • 税务评估价多久更新一次
  • 企业营改增税率是多少
  • 全额事业单位和差额事业单位退休工资有什么区别
  • 收到银行存款利息
  • 安置房买卖过户流程
  • 长期股权投资权益法账务处理
  • 政府补助的分类及会计处理方法
  • 金蝶系统如何设置套打
  • 年终奖和工资一起发吗
  • win7系统自动更新在哪里关闭啊
  • Ubuntu 14.04 64位搭建ADT开发环境的方法
  • macbook系统截图
  • windows8怎么设置锁屏密码
  • 防止暴力破解的方法
  • owmngr.exe - owmngr是什么进程 作用是什么
  • win8图标放桌面
  • scrollpane.setviewportview
  • opengl1
  • Python中str is not callable问题详解及解决办法
  • unity3d2019教程
  • java栈怎么写
  • Unity3D游戏开发标准教程
  • python常用操作运算符
  • js可以实现网页中哪些效果
  • MVC+jQuery.Ajax异步实现增删改查和分页
  • javascript keyup
  • 广东省国税局长是谁
  • 机打发票真伪查询
  • 为什么增值税是销项税减进项税
  • 纳税服务存在的不足之处
  • 公积金上个月没交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设