Vue3翻页后刷新并保持该页面数据方式

 更新时间:2025年04月28日 14:37:43   作者:我自飞扬临天下  
这篇文章主要介绍了Vue3翻页后刷新并保持该页面数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题描述

在vue3中页面翻页然后刷新会自动回到第一页,例如:

此时是在第2页

刷新之后,它有跳转回到了第一页

问题解决

那么我们应该如何解决该问题呢?

1.由于该页面的数据是按照条件进行查询的,组件之间存在数据的通信,因此我们使用了pinia将数据定义在了一起

2.跳转到第二页的数据,那么pinia中的page应该为2,刷新页面后,page会变回到原始定义的数据1,所以刷新页面后,第2页的数据无法保持,回到第1页

3.我们选择将page带入到route中,每次刷新页面,将获取route中的page,保持刷新后也是第2页的数据

4..找到点击跳转页面的方法,点击后会获取val(页码,点击第2页),将页码带入到route,此时pinia中的page为2,并且通过getSingerData方法更新页面为第2页的数据

5.页面打开时就应该获取数据,获取到route的page后传递到pinia中的page,那么每次刷新就会根据page获取相应页码的数据,本来想在pinia中直接使用route,但route一般只定义在setup函数中

6.导航栏的跳转也应该改为第1页,

7.当前选中页也须修改(刷新后会保持该页选中)

注意事项

由于左侧导航栏刷新该页后应该时默认选中的状态,上面6(刷新后不会默认选中)中的index进行了重新修改,如下:

总结

1.tabs跳转:route,query.page为1,一进入页面就获取page为1的数据列表

2.点击第二页,route,query.page为2,更新pinia的page,立即获取第2页数据并刷新页面

3.重新刷新页面就是获取route,query.page中的2进行页面的刷新,而不是pinia的page了,因为此时pinia中的page刷新后是1

4.当前选中页也应该是route,query.page,否则刷新后变回1

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • jdk1.8+vue elementui实现多级菜单功能

    jdk1.8+vue elementui实现多级菜单功能

    这篇文章主要介绍了jdk1.8+vue elementui实现多级菜单功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 如何把vuejs打包出来的文件整合到springboot里

    如何把vuejs打包出来的文件整合到springboot里

    这篇文章主要介绍了如何把vuejs打包出来的文件整合到springboot里,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Vue项目中实现无感Token刷新的示例

    Vue项目中实现无感Token刷新的示例

    在前端项目中,Token用于用户认证和权限管理,文章介绍了在Vue项目中实现Token的无感刷新,包括Token刷新的原理、拦截器的应用和处理Token过期的方法,感兴趣的可以了解一下
    2024-11-11
  • 八种Vue组件间通讯方式合集(推荐)

    八种Vue组件间通讯方式合集(推荐)

    这篇文章主要介绍了八种Vue组件间通讯方式合集(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Vue3基于 rem 比例缩放方案示例详解

    Vue3基于 rem 比例缩放方案示例详解

    这篇文章主要介绍了Vue3基于rem比例缩放方案,本缩放方案置于hooks中即可,文中通过示例代码介绍了vue-cli3 中使用rem布局的方法,需要的朋友可以参考下
    2023-05-05
  • 页面刷新后Vuex状态丢失的完整解决方案

    页面刷新后Vuex状态丢失的完整解决方案

    当页面刷新时,Vuex 的 state 数据会丢失,这是因为 Vuex 的状态存储在内存中,刷新浏览器会重置 JavaScript 的运行环境,下面我将详细介绍几种解决方案,从简单到复杂,帮助你根据项目需求选择最适合的方法,需要的朋友可以参考下
    2025-04-04
  • vue组件(全局,局部,动态加载组件)

    vue组件(全局,局部,动态加载组件)

    组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。这篇文章主要介绍了vue组件(全局,局部,动态加载组件),需要的朋友可以参考下
    2018-09-09
  • vue cesium加载点与定位到指定位置的实现方法

    vue cesium加载点与定位到指定位置的实现方法

    Cesium是一个用于创建高性能、跨平台的3D地球和地图的开源JavaScript库,它提供了许多功能,包括地理空间数据可视化、地理定位和地图导航等,这篇文章主要介绍了vue cesium加载点与定位到指定位置,需要的朋友可以参考下
    2024-03-03
  • Vue中如何设置全局的cookie对象

    Vue中如何设置全局的cookie对象

    这篇文章主要介绍了Vue中如何设置全局的cookie对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • VUEJS实战之修复错误并且美化时间(2)

    VUEJS实战之修复错误并且美化时间(2)

    这篇文章主要为大家详细介绍了VUEJS实战之修复错误并且美化时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论