Angular2 Injection - 使用private与@Inject

时间:2016-02-27 07:00:52

标签: dependency-injection angular

有人可以解释一下它们之间的区别吗,

constructor(@Inject(Config) config:Config) {
     this.config = config;
}

constructor(private config:Config) {

}

假设Config是从Angular2中的bootstrap函数提供的

1 个答案:

答案 0 :(得分:2)

@Inject装饰器允许您指定有关注入内容的提示。在您的情况下,您不需要它,因为您使用参数类型。它是Angular2提供的装饰器。

从Angular2文档(https://angular.io/docs/ts/latest/api/core/InjectMetadata-class.html):

  

当@Inject不存在时,进样器将使用参数的类型注释。

@Inject装饰器可以与forwardRef一起使用,因为如果要注入Ng1服务/工厂,ES6 / TypeScript类不支持提升或使用àtring。

private关键字允许您将参数定义为类的私有属性。这是TypeScript语言的一个特性。