@Injectable() 和 @Inject 的区别是什么

Rhu*_*esh 3 inject injectable angular

我正在开发 angular2,我已经创建了服务并在组件中使用 @Inject 注入这些服务。我对 @Injectable() 在服务本身中的使用以及它产生的差异感到困惑。

Ang*_*hub 5

@Inject()是一种手动机制,用于让 Angular 2 知道需要注入参数

@Injectable()让 Angular 2 知道一个类可以与依赖注入器一起使用。@Injectable() is not strictly required如果该类上有其他 Angular 2 装饰器。重要的是任何要注入 Angular 2 的类都会被修饰。

然而,最佳实践是使用 @Injectable() 装饰可注入,因为它对读者来说更有意义。