我正在尝试理解在Angular 2服务中添加@Injectable()装饰的必要性。
从文档中得知:https://angular.io/docs/ts/latest/guide/dependency-injection.html
"为什么我们不在HeroesComponent中添加@Injectable()? 如果我们真的想添加它,我们可以这样做。因为HeroesComponent已经使用@Component进行了装饰。 TypeScript会为任何使用装饰器的类生成元数据,而任何装饰器都可以胜任。"
所以基本上只有在没有其他类型的装饰可用时才需要添加@Injectable(),因为如果有任何类型的装饰可用,TypeScript编译器将基于您在构造函数中传递的变量自动生成依赖信息,例如:constructor(private logger: Logger)。
这正确吗?谢谢
从文档中得知:https://angular.io/docs/ts/latest/guide/dependency-injection.html
"为什么我们不在HeroesComponent中添加@Injectable()? 如果我们真的想添加它,我们可以这样做。因为HeroesComponent已经使用@Component进行了装饰。 TypeScript会为任何使用装饰器的类生成元数据,而任何装饰器都可以胜任。"
所以基本上只有在没有其他类型的装饰可用时才需要添加@Injectable(),因为如果有任何类型的装饰可用,TypeScript编译器将基于您在构造函数中传递的变量自动生成依赖信息,例如:constructor(private logger: Logger)。
这正确吗?谢谢