在初始化时高效获取 vuex 异步值
在 Vuex 中管理异步后台数据时,经常遇到需要在多个页面中使用该值的场景。但由于 Vuex 要求在 Action 中获取数据,导致每个页面都要判断值是否存在并 Dispatch,造成重复的接口调用。
为了仅在初始化时调用接口,可以采用以下方法:
-
使用 SessionStorage 或 LocalStorage:
在首次请求时,将接口返回的数据存储在 SessionStorage 或 LocalStorage 中。随后,在 State 中从这些存储中获取数据,避免重复请求。
立即学习“前端免费学习笔记(深入)”;
-
使用 Plugin:
编写一个 Vuex Plugin 来监听 State 变化。当发现目标值未定义时,自动触发接口调用并赋值。
-
使用 Middleware:
使用 Vuex Middleware 在 Action 或 Mutation 调用前拦截。若目标值不存在,则触发接口调用。
这些方法可以确保在初始化时只调用一次接口,提高性能并简化代码。










