【问题标题】:Angular2 Services Injection in BootstrapBootstrap 中的 Angular2 服务注入
【发布时间】:2016-03-22 15:17:06
【问题描述】:

谁能解释一下

bootstrap(MyApp, [provide(Service1, { useClass: Service1})]);

bootstrap(MyApp, [Service1]);

【问题讨论】:

标签: service angular code-injection provider


【解决方案1】:

完全一样。当用于提供者的令牌是类本身时,您可以使用它。如果您不想在提供者令牌后面提供其他内容,您可以使用 provide 函数和 useClassuseValueuseExistinguseFactory

以下是一些您可能感兴趣的示例:

您还可以查看Provider 类的文档:

【讨论】:

    【解决方案2】:

    其实没什么区别。

    使用这个版本

    bootstrap(MyApp, [provide(Service1, { useClass: Service1})]);
    

    只有当类不同时才有意义,比如

    bootstrap(MyApp, [provide(XHRBackend, { useClass: MockBackend})]);
    

    在请求XHRBackend 时传递MockBackend(是构造函数参数的类型。

    constructor(private backend:XHRBackend) {}
    

    会得到一个 MockBackend 实例传入。

    如果您只想在请求Service1 时传递Service1

    bootstrap(MyApp, [Service1]);
    

    会的。

    【讨论】:

      猜你喜欢
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多