页面需要重加载才能显示的问题修改

1.问题描述:跳转页面后,只有点击重新加载后才会显示内容

经过测试后:

/ 跳转详情 const goToDetail = (bookId) => { router.push({ path: '/classic-detail', query: { book_id: bookId } }) } 执行完以上代码后,页面从classicsView跳转到了ClassicDetail,但是ClassicDetail的onMounted函数中打印的qastore却仍然是上一个页面中的store内容

2.解决思路

可能原因:

  1. ​Store 状态未重置​

    Pinia store 默认是单例的,当从 classicsView 跳转到 ClassicDetail 时,store 仍保留之前的状态数据。此时立即打印会显示旧数据,直到新请求完成。

  2. ​异步时序问题​
    onMounted 中直接打印时,数据请求可能尚未完成,此时看到的是 store 的初始状态。

  3. ​路由参数处理不严谨​

    获取路由参数时可能出现类型错误,如 route.query.book_id 返回数组类型时未正确处理

最后修改措施:

由于两个store文件存在命名冲突(都使用了'classic'名称),导致加载store对象时无法分清到底加载哪一个,认为前一个和当前是相同的,因此没能成功加载新的qastore导致的问题,经修改,将ClassicDetail文件中的classic改为qaclass解决了问题

相关推荐
山有木兮木有枝_几秒前
JavaScript 数据类型与内存分配机制探究
前端
小小小小宇6 分钟前
前端 异步任务并发控制
前端
upp18 分钟前
【bug】Error: /undefinedfilename in (/tmp/ocrmypdf.io.9xfn1e3b/origin.pdf)
ubuntu·pdf·bug·ghostscript
bysking20 分钟前
【27-vue3】vue3版本的"指令式弹窗"逻辑函数createModal-bysking
前端·vue.js
LuckySusu20 分钟前
【HTML篇】script`标签中的 defer 与 async:深入解析异步加载 JavaScript 的差异
前端·html
CAD老兵21 分钟前
在 TypeScript 中复用已有 Interface 的部分属性:完整指南
前端
龚思凯25 分钟前
Vue 3 中 watch 监听引用类型的深度解析与全面实践
前端·vue.js
于冬恋36 分钟前
Web后端开发(请求、响应)
前端
red润42 分钟前
封装hook,复刻掘金社区,暗黑白天主题切换功能
前端·javascript·vue.js
Fly-ping43 分钟前
【前端】vue3性能优化方案
前端·性能优化