gpt4 book ai didi

javascript - Flowrouter 与 alanning :Roles - Delay in 'userIsInRole' Method

转载 作者:行者123 更新时间:2023-11-27 23:02:27 24 4
gpt4 key购买 nike

如果用户具有管理员 Angular 色,我将 FlowRouter 与 alanning:roles 包一起使用来检查特定路由组的每个 RouteEnter。

let adminRoutes = FlowRouter.group({
name: "adminRoutes",
triggersEnter: [checkAdmin]
});

checkAdmin = () => {
console.log(Roles.userIsInRole(Meteor.userId(), 'admin')); // false
if (! Roles.userIsInRole(Meteor.userId(), 'admin')) {
console.log(Roles.userIsInRole(Meteor.userId(), 'admin')); //false
FlowRouter.redirect('/notFound');
}

};

当我以管理员身份登录时,控制台日志首先为 false,然后我被重定向到 notFound 页面。当我点击后退按钮时, Angular 色似乎已初始化,我实际上可以看到管理区域。

如何避免初始化管理员 Angular 色时出现这种延迟?

感谢您的帮助!

莫夫

最佳答案

用户对象需要几个周期才能完全加载,因此如果您立即检查它,您将无法访问用户的所有属性。最好在等待用户对象加载时显示微调器。您可以为用户创建一个订阅,其中仅包含您真正需要的 key ,然后等待该订阅准备就绪。

关于javascript - Flowrouter 与 alanning :Roles - Delay in 'userIsInRole' Method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36945736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com