【问题标题】:where are route guards in the DI hierarchy?DI 层次结构中的路由守卫在哪里?
【发布时间】:2017-02-06 19:35:42
【问题描述】:

哪些注入器/提供器可用于路由保护?

例如:路由守卫可以使用仅为组件提供的服务吗?

在我看来,路由守卫只能访问模块级提供程序,但我无法从源代码中确认。

【问题讨论】:

    标签: angular


    【解决方案1】:

    Angular2.0 中,每个都包含在 Module 中。 Service 应该在 AppModule 级别(意味着在 @NgModule 装饰器内)或 featureModule 级别SharedModule 注入级别

    所以你必须确保将它注入到 @NgModule 装饰器的某个地方。然后根据该NgModule 的范围,您将能够使用您的服务,例如。在 canActivate 中。

    【讨论】:

    • 投反对票的人,我能解释一下吗?你能告诉我其他(最好的)使用方法吗?
    • 所以你是说路由守卫必须有模块级别的服务提供者?
    • 是的,如果你想在任何地方使用服务,它必须像回答中所说的那样在 Module lev 处注入...
    猜你喜欢
    • 2018-12-04
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2019-02-04
    • 2010-12-07
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多