有人可以解释一下它们之间的区别吗,
constructor(@Inject(Config) config:Config) {
this.config = config;
}
和
constructor(private config:Config) {
}
假设Config是从Angular2中的bootstrap函数提供的
答案 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语言的一个特性。