如何解决Vuex条件存储延迟加载?
我正在Vue.js中构建SPA,以管理登录用户的文档和仪表板。我面临以下问题:
- 我有一个带有多个模块的vuex商店,用于管理不同的事物。
- 其中一个(一些)模块用于管理目的(添加新的仪表板,编辑仪表板...等等)。
- 只有极少数最终用户可以访问管理区域,因此可以使用admins vuex模块。
为所有用户提供管理存储和状态似乎不是非常优化,所以我的问题是:是否有一种仅在某些条件下(例如,如果用户是管理员)将模块添加到vuex存储的体系结构方法? ?也许某种延迟加载仅在用户访问管理界面时才会加载此商店?
编辑:我将通过异步API调用来确定谁是管理员,因此解决方案(如果存在)必须允许动态更改商店结构。我想避免创建2个vue实例的变通方法。 我认为这是许多解决方案中出现的常见问题? (拥有一个大型商店用于管理目的,普通用户不应该看到)
解决方法
您可以保存一个单独的变量并根据条件添加某些模块:
import normalModule from './normalModule';
import admin from './admin';
const modules = {
normalModule
}
if (isAdmin) modules['admin'] = admin;
export default new Vuex.Store({
modules,});
如何确定他们是否是管理员取决于您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。