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

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解决了问题

相关推荐
小小小小宇1 分钟前
前端领域 30 个值得安装的 Agent Skills
前端
喵了几个咪5 分钟前
基于 Next.js 的 Headless CMS 前端架构:技术解析与二次开发导引
前端·javascript·架构
星栈7 分钟前
Makepad 不只是画界面:事件、状态和组件通信,到底怎么写
前端·rust
dsyyyyy11018 分钟前
只用HTML和CSS实现换一换效果
前端·css·html
青山Coding22 分钟前
Cesium应用(七):地形开挖的实现思路
前端·cesium
风骏时光牛马24 分钟前
Verilog常见问题及代码易错点梳理
前端
用户21816970493026 分钟前
swift (一) var let 字符串 int double 元组 数组[] 字典[:] 可选类型 if while for 函数func 可选类型?
前端
铁皮饭盒28 分钟前
Bun 都用 AI + Rust 重写了,咋不顺便把 Node.js 的 API 全兼容了?
前端·后端
menlong99932 分钟前
从Prompt狂欢到Agent轨道:20 万行代码真实项目的 AI 工作流实战
前端
huangdong_32 分钟前
拼多多商品图片视频批量采集:整店自动分类与高清原图
前端·javascript·音视频