我正在阅读ng-book的角度2修订版,第47页,250页,有以下段落:
当我们将类本身放入如下提供程序列表中时: 提供者: MyService 这表明,每当注入MyService时,我们都希望提供MyService的单例实例。由于这种模式非常常见,类本身就是以下等价配置的简写符号: 提供者:{ provide: MyComponent,useClass: MyComponent }
这是一个错误吗?它的意思应该是:
providers: [
{ provide: MyService, useClass: MyService }
]发布于 2017-01-12 14:30:47
这是一个错误,因为您不能使用组件作为提供程序,下面是官方文件
Provider类并提供对象文本我们编写了如下提供程序数组: 提供者:记录器 实际上,这是一个使用具有两个属性的provider对象文本的提供者注册的简写表达式: {提供:记录器,useClass:记录器} 第一个是令牌,它既是定位依赖值的关键,也是注册提供者的关键。 第二个是提供程序定义对象,我们可以把它看作创建依赖值的方法。有许多方法可以创建依赖值..。还有很多方法来写食谱
发布于 2017-01-12 14:24:49
是的,是一样的。当传递给provide和useClass的类型相同时,它就相当于传递type。
只是个暗示。提供组件(MyComponent)通常没有意义。
发布于 2021-07-15 02:20:22
是的,他们两个是一样的。当您编写提供程序: MyService角时,它将扩展为{ provide: MyService,useClass: MyService},其中第一个参数提供: MyService将作为一个依赖注入令牌工作,该令牌将用作定位" MyService“的键,而第二个参数useClass: MyService将从现有的服务类MyService中创建依赖项。
https://stackoverflow.com/questions/41615512
复制相似问题