vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue3翻页后刷新并保持该页面数据

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

作者:我自飞扬临天下

这篇文章主要介绍了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

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

您可能感兴趣的文章:
阅读全文