“提供者: [ MyService ]”是否与“提供者: [{ 提供: MyComponent, useClass: M



我正在阅读角度 2 修订版 47 第 250 页的ng-book,有以下段落:

当我们像这样将类本身放入提供程序列表中时:

providers: [ MyService ] 

这告诉 Angular,我们希望在 MyService 存在时提供 MyService 的单例实例。 注入。由于此模式非常常见,因此该类本身是 以下等效配置的速记表示法:

providers: [
    { provide: MyComponent, useClass: MyComponent }
]

是错别字吗,意思应该是:

providers: [
    { provide: MyService, useClass: MyService }
]

这是错别字,因为你不能将组件用作提供者,这里是官方文档

提供程序

类并提供对象文本 我们编写了提供程序 像这样的数组:

providers: [Logger]

这实际上是一个速记表达式 对于使用具有两个的提供程序对象文本的提供程序注册 性能:

[{ provide: Logger, useClass: Logger }]

第一个是令牌 用作查找依赖项值和注册的键 提供程序。

第二个是提供程序定义对象,我们可以将其视为 创建依赖项值的方法。有很多方法可以 创建依赖关系值...以及编写食谱的多种方法

是的,是一样的。当传递给provide并且useClass的类型相同时,则相当于只传递type

只是一个提示。提供一个组件(MyComponent)通常没有意义。

是的,它们都是一样的。当你编写提供者时:[MyService] angular 会将其扩展为 [{ provide: MyService, useClass: MyService}],其中第一个参数提供:MyService 将用作依赖项注入令牌,该令牌将用作查找"MyService"的键第二个参数 useClass: MyService 它将从现有服务类 MyService

相关内容

  • 没有找到相关文章

最新更新