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

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

相关推荐
前端小巷子19 分钟前
Webpack 5模块联邦
前端·javascript·面试
玲小珑22 分钟前
Next.js 教程系列(十九)图像优化:next/image 与高级技巧
前端·next.js
晓得迷路了23 分钟前
栗子前端技术周刊第 91 期 - 新版 React Compiler 文档、2025 HTML 状态调查、Bun v1.2.19...
前端·javascript·react.js
江城开朗的豌豆29 分钟前
Vue和React中的key:为什么列表渲染必须加这玩意儿?
前端·vue.js·面试
江城开朗的豌豆35 分钟前
前端路由傻傻分不清?route和router的区别,看完这篇别再搞混了!
前端·javascript·vue.js
pengzhuofan38 分钟前
Web开发系列-第0章 Web介绍
前端
小鱼人爱编程1 小时前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
JosieBook2 小时前
【web应用】如何进行前后端调试Debug? + 前端JavaScript调试Debug?
前端·chrome·debug
LBJ辉2 小时前
2. Webpack 高级配置
前端·javascript·webpack
灵感__idea9 小时前
JavaScript高级程序设计(第5版):好的编程就是掌控感
前端·javascript·程序员