在 Angular2 组件配置中,providers
是我们可以指定的键之一。这些提供程序是如何定义的以及它们的用途是什么?
@Component({
..
providers: [..],
..
})
注意:
Angular2 文档逐渐成熟,但仍然稀少。它目前将 providers 定义为:
An array of dependency injection providers for services that the component requires.
这个递归定义不是很有用。一个更详细的例子解释会很有帮助。
最佳答案
提供者通常是单例(一个实例)对象,其他对象可以通过依赖注入(inject) (DI) 进行访问。
如果您计划多次使用一个对象,例如,Http
服务在不同的组件中,您可以请求该服务的同一个实例(重用它)。您可以在 DI 的帮助下通过提供对 DI 为您创建的同一对象的引用来做到这一点。
@Component){
..
providers: [Http]
}
..而不是每次都创建新对象:
@Component){}
class Cmp {
constructor() {
// this is pseudo code, doens't work
this.http = new Http(...options);
}
}
这是一个近似值,但这是 Dependency Injection 背后的一般思想- 让框架处理可重用对象的创建和维护...Provider 是 Angular 对这些可重用对象(依赖项)的术语。
关于angular - Angular2 中的提供者是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37867503/