Nuxt.js:刷新页面后,在Vuex中保存查询的最佳或实用方法是什么



我正在使用Nuxt Frontend和Node Mongo Backend创建一个类似Reddit的web应用程序。

但由于我缺乏实用的编程知识,我在处理带有查询的文章(或帖子(列表时遇到了一些麻烦。

以下是应用程序应该如何工作的描述:

(1(路由:/page/index.vue使用asyncData({app, query}),我使用axios从后端请求数据。文章列表可以用genresort=${sortQuery}进行排序。使用Nuxt提供的watchQuery: true从后端检索排序后的文章列表没有问题。

(2(路由:/page/:id/index.vue这是用户可以阅读单个文章的地方。加载页面时,执行asyncData以检索currentArticle数据以及ArticleList数据。当用户从/page有机地移动到/page/:id时,由于Query已存储在Vuex Store中,因此保留了按查询排序的文章列表。

问题:但是,当用户刷新页面时,无法检索排序的文章列表,因为Vuex存储的Query不存在。。。

我想保留最后一个用于从后端重新加载文章列表的查询,即使在刷新或奇怪的路由方式之后也是如此

为了解决这个问题,我曾考虑将VuexQuery存储在web的LocalStorage中,但我觉得必须有一种更简单、更实用的方法来实现这一点。。。

有人能就如何切实解决这个问题发表意见吗?

如果需要更多信息,请告诉我!

感谢您提前抽出时间:(

我会在第一页的nuxt链接中传递查询参数,比如:

<nuxt-link :to="{ path: 'page', query: { genre: 'x' }}">My Article</nuxt-link>

这样,排序条件将被保存在url中,您可以从任何地方/与任何人链接或共享它。

最新更新