【问题标题】:Router Link to a new Page but keep Store data路由器链接到新页面但保留存储数据
【发布时间】:2024-05-21 02:35:02
【问题描述】:

我有一个帖子列表,点击后可以导航到可以阅读的帖子视图。为了用户体验,我希望它在点击帖子时打开一个新标签。

我通过<nuxt-link :to="'posts/' + posts[0].docID" target="_blank">实现了这一点

我当前的网站逻辑适用于将帖子数据从我的数据库中提取到商店中,这样我就不必在加载后再次获取帖子数据。 这很好用,但是使用我打开新标签的新逻辑,帖子组件找不到存储数据,因此它再次获取数据库。

如何在不重置商店和保持发布数据准备就绪而不需要重新获取的情况下实现新的选项卡行为?

【问题讨论】:

  • 您必须使用某种本地存储选项,例如localStorage / sessionStorage 或 IndexedDB
  • 可能您还可以使用service worker 来捕获该 URL 并在第一次请求后提供缓存版本。或者让您的 API 设置适当的缓存,这样浏览器自然不会两次访问 URL(假设 DB 获取是参数化的 GET)

标签: firebase vue.js nuxt.js


【解决方案1】:

您可以为此使用 Cookie 或本地存储,您可以在其中保存数据并在新标签中重新获取...

希望对你有所帮助..

【讨论】: