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

  • vivoX6s A如何设置电量百分比(vivox6设置功能)

    vivoX6s A如何设置电量百分比(vivox6设置功能)

  • 手机号拉黑了能收到短信吗(手机号拉黑了能看见短信吗)

    手机号拉黑了能收到短信吗(手机号拉黑了能看见短信吗)

  • 抖音名字前面的等级怎么来的(抖音名字前面的小星星是什么意思)

    抖音名字前面的等级怎么来的(抖音名字前面的小星星是什么意思)

  • 新ipad有充电记录(苹果ipad充电有显示吗)

    新ipad有充电记录(苹果ipad充电有显示吗)

  • qq怎么接入美颜软件(qq怎么开美颜摄像头)

    qq怎么接入美颜软件(qq怎么开美颜摄像头)

  • 抖音下载的视频存在哪(抖音下载的视频如何去掉抖音号)

    抖音下载的视频存在哪(抖音下载的视频如何去掉抖音号)

  • 蓝牙耳机在充电仓里怎么知道充满电(蓝牙耳机在充电时可以连接手机吗)

    蓝牙耳机在充电仓里怎么知道充满电(蓝牙耳机在充电时可以连接手机吗)

  • 微信拉黑后对方发信息还能看到吗(微信拉黑后对方发好友申请能收到吗)

    微信拉黑后对方发信息还能看到吗(微信拉黑后对方发好友申请能收到吗)

  • 微信公众号拉黑粉丝会知道吗(微信公众号拉黑了 还能看到文章吗)

    微信公众号拉黑粉丝会知道吗(微信公众号拉黑了 还能看到文章吗)

  • vivox23充电需要多久(vivo手机x23充电)

    vivox23充电需要多久(vivo手机x23充电)

  • 三星s10上网慢解决方法(三星s10+网络信号不好怎么办)

    三星s10上网慢解决方法(三星s10+网络信号不好怎么办)

  • qq聊天记录删了能在另一个手机上看到吗(qq聊天记录删了漫游能出来吗)

    qq聊天记录删了能在另一个手机上看到吗(qq聊天记录删了漫游能出来吗)

  • 拔掉coms电池能开机吗(拔掉电池重置bios吗)

    拔掉coms电池能开机吗(拔掉电池重置bios吗)

  • 电子计算器清除键是什么(电子计算器清除建)

    电子计算器清除键是什么(电子计算器清除建)

  • wps表格怎么搜索(wps表格怎么搜索内容)

    wps表格怎么搜索(wps表格怎么搜索内容)

  • 1660ti配什么显示器(1660ti要配什么cpu)

    1660ti配什么显示器(1660ti要配什么cpu)

  • 客能达是不是正规公司(客能达刷脸支付代理怎么样)

    客能达是不是正规公司(客能达刷脸支付代理怎么样)

  • 苹果照片怎么导入新手机(苹果照片怎么导入安卓手机)

    苹果照片怎么导入新手机(苹果照片怎么导入安卓手机)

  • 电脑上的itunes在哪里(电脑中的itunes在哪里)

    电脑上的itunes在哪里(电脑中的itunes在哪里)

  • ipadmini2支持笔吗(padmini2可以用笔吗)

    ipadmini2支持笔吗(padmini2可以用笔吗)

  • 爱奇艺怎么取消绑定银行卡(爱奇艺怎么取消会员)

    爱奇艺怎么取消绑定银行卡(爱奇艺怎么取消会员)

  • 荣耀20i和荣耀20有什么区别(荣耀20I和荣耀20I特别版外观一样吗?)

    荣耀20i和荣耀20有什么区别(荣耀20I和荣耀20I特别版外观一样吗?)

  • 希尔薇怎么调屏幕

    希尔薇怎么调屏幕

  • 苹果无线耳机怎么连(苹果无线耳机怎么充电)

    苹果无线耳机怎么连(苹果无线耳机怎么充电)

  • 哪些进项税额可以抵扣销项税额
  • 一般纳税人企业所得税是多少
  • 税控盘注意事项
  • 公司股东分红要交哪些税
  • 个人所得税修改赡养信息
  • 企业的内部银行
  • 增值税申报失败怎么撤销
  • 公司转账给法人用途写什么
  • 应收职工欠款属于负债吗
  • 新成立的企业都有哪些
  • 零售行业会计核算方法
  • 金税三期的变化
  • 国家认定的高新技术企业是什么意思
  • 待认证税额是几级科目
  • 已认证的发票在哪里查
  • 有进项税额转出怎么结转增值税
  • 个人劳务费增值税税率是多少2023
  • 工商年报股东变更申请
  • 苹果6plus自带软件有哪些
  • 鸿蒙密码锁设置密码的方法
  • 纳税人办理退税手续流程
  • win7有线连接怎么设置
  • 专项维修基金会计核算应当遵循及时性原则
  • 银行的贷款怎么发放
  • 冲回暂估分录
  • 前端项目中遇到的问题,如何解决
  • php stat
  • 闲置房的相关政策
  • 土地增值税的计算方法和步骤例题
  • 长期股权投资实现净利润计入什么科目
  • 个人代开普票的个人经营所得税如何计算
  • 小规模纳税人免税会计分录
  • php连接mysql数据库的几种方式及区别
  • 兼职人员的劳务费标准
  • python socket发送文件
  • 购货方享受现金流量吗
  • 费用化支出期末一般转入哪个账户?
  • python怎么用
  • 增值税专用发票几个点
  • 资本支出预算属于经营预算吗
  • 固定资产清理时增值税怎么处理
  • 小规模纳税人可以开13的税吗
  • 劳务报酬所得是否含增值税
  • 仓库发货打包员工作内容
  • 项目对公司的战略意义
  • 商业汇票怎么算到期日
  • 退回的个税手续费如何账务处理
  • 未确认融资费用借贷方向
  • 出口退税过期怎么处理
  • 通信费抬头为个人
  • 老项目简易征收税率
  • 公司转账给其他公司账户
  • 设计会计凭证
  • 企业如何建账做账
  • mysql varchar2
  • sql server如何查询
  • dos查看进程占用cpu
  • 打开win七
  • Windows7 64位系统如何添加打印机图文教程
  • win7 ping一般故障
  • call to OpenGL ES API with no current context (logged once per thread)
  • 用滑动门技术设计一幅画
  • 关于超链接下列说法中错误的是
  • Node.js中的核心模块包括哪些内容?
  • Android In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing
  • 分区工具怎么取消主分区
  • android:ellipsize="marquee"
  • 在浏览器中打开是什么意思
  • javascript怎么用
  • jquery中keyup
  • jquery实现输入框自限制
  • js为什么不能用var定义变量
  • 国税系统公务员政审父母超生合格吗
  • 退伍军人买车需要摇号吗
  • 北京税务局发票查询
  • 天津市国税局网站
  • 消费税税收优惠的纳税筹划
  • 电池涂料消费税问题
  • 会计开票要填哪些信息
  • 上海金山国税局局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设