【发布时间】:2020-01-20 15:22:17
【问题描述】:
我正在使用 Vuex 和 Vue-router 开发一个单页应用程序。
我目前有一个由一个大对象组成的商店——比如 X——从一个带有标识符的数据库中加载。 我使用 Vue-router 在 SPA 的页面之间导航。
有时,用户可能希望从数据库中加载另一个版本的 X。这样做时,我还想将用户导航到“起始页”。 “起始页”和用户当前所在的页面都将显示通过计算属性从商店获取的大量信息。
据我所知,有两种方法可以解决这个问题,但没有一种是好的:
- 我将新对象加载到存储中,然后推送路由器。
- 问题:当我从后端将对象加载到存储中时,所有的反应都开始发生,用户所在的当前页面将读取新信息并表现得很奇怪。
- 我先推送路由器再更新。
- 问题:这与上述情况正好相反。开始页面现在将包含旧版本 X 的所有信息,并且仅在一段时间后更新到新版本。
对于 1 和 2,我最终会在前端/控制台中出现大量错误,例如唯一性验证。
一种解决方案可能是首先将用户导航到“加载页面”,然后加载新对象,然后推送路由器。
对我来说,这似乎是一个非常基本的 Vue 问题,我可能缺少一些最佳实践。
【问题讨论】:
标签: vue.js vuejs2 vuex vue-router