Angular Is`providers:[MyService]`与`providers:[{provide:MyComponent,useClass:MyComponent}]相同`
我正在读ng关于angular 2修订版47第250页的书,有以下段落: 当我们将类本身放入提供者列表时,如下所示:Angular Is`providers:[MyService]`与`providers:[{provide:MyComponent,useClass:MyComponent}]相同`,angular,angular2-injection,Angular,Angular2 Injection,我正在读ng关于angular 2修订版47第250页的书,有以下段落: 当我们将类本身放入提供者列表时,如下所示: providers: [ MyService ] providers: [Logger] 这告诉Angular,无论何时启动MyService,我们都希望提供一个MyService的单例实例 注射。因为这种模式非常常见,所以类本身是 以下等效配置的简写符号: providers: [ { provide: MyComponent, useClass: MyCompo
providers: [ MyService ]
providers: [Logger]
这告诉Angular,无论何时启动MyService,我们都希望提供一个MyService的单例实例
注射。因为这种模式非常常见,所以类本身是
以下等效配置的简写符号:
providers: [
{ provide: MyComponent, useClass: MyComponent }
]
这是打字错误吗?其含义应该是:
providers: [
{ provide: MyService, useClass: MyService }
]
是的,是一样的。
当传递给Provider和useClass的类型相同时,则等同于只传递该类型
只是一个提示。提供组件MyComponent通常没有意义 这是打字错误,因为您不能将组件用作提供者,下面是 我们编写了Provider类和provide object literal 像这样的数组:
providers: [ MyService ]
providers: [Logger]
这实际上是一个速记表达
对于使用具有两个参数的提供程序对象文字的提供程序注册
特性:
[{ provide: Logger, useClass: Logger }]
第一个是
用作查找依赖项值和注册的键
提供者
第二个是提供者定义对象,我们可以将其视为
创建依赖项值的方法。有很多方法可以解决这个问题
创建依赖项值。。。还有很多写食谱的方法
很可能是打字错误?好吧,现在我明白你的意思了。是的,我确定MyComponent而不是MyService是一个打字错误。好的,谢谢,只是想确保我没有遗漏其他东西