向@CanActivate提供isAdmin()函数的最佳方法是什么?

时间:2016-01-17 02:45:37

标签: angular

因此,我一直在浏览许多博客/教程,试图解决这个问题,但无济于事。

我想要的是能够传递给@CanActivate()函数,这些函数应该确定用户是否已登录。我尝试过制作静态函数

static isUserInjector() {
    return (next, prev) => Injector.resolveAndCreate([AuthService, HTTP_PROVIDERS]).get(AuthService).isUser();
}

在我的AuthService类中,所以我只是将它导入到指令的.ts并调用静态函数但是这看起来有点笨拙我使用这个Injector感觉不太好因为我想我要引导所有的东西需要,但我不知道如何在我的组件之外。 (我只知道你可以通过构造函数中的'要求'来获得引导服务。

依赖注入是否与@CanActivate一起使用了错误的模式?

1 个答案:

答案 0 :(得分:0)

您可以在此处查看我对类似问题的回答:Angular2 Router - Anyone know how to use canActivate in app.ts so that I can redirect to home page if not logged in

我解释了如何扩展路由器出口以进行路由验证。 希望能帮助到你。