首页 > 解决方案 > 为 SPA 存储半持久性数据

问题描述

我有一个使用 REST API 设置的 SPA 网站。我遇到的问题之一是如何访问与请求的资源无关的数据。具体来说,访问用户帐户详细信息,以便我可以在用户不是管理员时执行隐藏管理员操作等操作。

我有一个 api 端点可以获取所有这些数据,所以最简单的解决方案是在每个页面加载请求配置文件 api 以及实际访问的资源。不断请求很少更改的资源似乎有点浪费。

另一种选择是将此数据存储在本地存储中,因此只需请求一次,但我遇到的问题是用户在一台设备上更新其用户名或设置,然后另一台设备在本地存储中留下过时的数据。

我认为 vuex 可能能够在单击链接并导航到不同页面时保留这些数据,但是当页面更改时,数据似乎会丢失。

据我了解,graphql 将通过允许初始请求获取用户数据以及其他数据来解决此问题。我不确定这比 2 个请求效率高多少,重写我的整个 api 可能不是最好的解决方案。

这个问题是否有任何众所周知的解决方案,或者是我提出的最佳解决方案之一?

标签: restvue.jssingle-page-application

解决方案


推荐阅读