首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是“provide:[ MyService ]”与“provide:[{ provide: MyComponent,useClass: MyComponent }]”相同

是“provide:[ MyService ]”与“provide:[{ provide: MyComponent,useClass: MyComponent }]”相同
EN

Stack Overflow用户
提问于 2017-01-12 14:21:30
回答 3查看 111关注 0票数 2

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

当我们将类本身放入如下提供程序列表中时: 提供者: MyService 这表明,每当注入MyService时,我们都希望提供MyService的单例实例。由于这种模式非常常见,类本身就是以下等价配置的简写符号: 提供者:{ provide: MyComponent,useClass: MyComponent }

这是一个错误吗?它的意思应该是:

代码语言:javascript
复制
providers: [
    { provide: MyService, useClass: MyService }
]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-12 14:30:47

这是一个错误,因为您不能使用组件作为提供程序,下面是官方文件

Provider类并提供对象文本我们编写了如下提供程序数组: 提供者:记录器 实际上,这是一个使用具有两个属性的provider对象文本的提供者注册的简写表达式: {提供:记录器,useClass:记录器} 第一个是令牌,它既是定位依赖值的关键,也是注册提供者的关键。 第二个是提供程序定义对象,我们可以把它看作创建依赖值的方法。有许多方法可以创建依赖值..。还有很多方法来写食谱

票数 2
EN

Stack Overflow用户

发布于 2017-01-12 14:24:49

是的,是一样的。当传递给provideuseClass的类型相同时,它就相当于传递type

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

票数 2
EN

Stack Overflow用户

发布于 2021-07-15 02:20:22

是的,他们两个是一样的。当您编写提供程序: MyService角时,它将扩展为{ provide: MyService,useClass: MyService},其中第一个参数提供: MyService将作为一个依赖注入令牌工作,该令牌将用作定位" MyService“的键,而第二个参数useClass: MyService将从现有的服务类MyService中创建依赖项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41615512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档