在Angular2组件配置中,providers
是我们可以指定的关键之一.这些提供者是如何定义的,它们的用途是什么?
@Component({
..
providers: [..],
..
})
Note:
Angular2文档正在逐渐成熟,但仍然很少.它目前将providers定义为:
对象的服务的一组依赖项注入提供程序 组件需要.
这个递归定义没有多大帮助.用一个例子进行更详细的解释会很有帮助.
在Angular2组件配置中,providers
是我们可以指定的关键之一.这些提供者是如何定义的,它们的用途是什么?
@Component({
..
providers: [..],
..
})
Note:
Angular2文档正在逐渐成熟,但仍然很少.它目前将providers定义为:
对象的服务的一组依赖项注入提供程序 组件需要.
这个递归定义没有多大帮助.用一个例子进行更详细的解释会很有帮助.
提供程序通常是单个(一个实例)对象,其他对象可以通过依赖项注入(DI)访问.
如果计划多次使用一个对象,例如,在不同组件中使用Http
个服务,则可以请求该服务的相同实例(重用它).在DI by providing的帮助下,您可以通过引用DI为您创建的同一个对象来实现这一点.
@Component){
..
providers: [Http]
}
…而不是每次都创建新对象:
@Component){}
class Cmp {
constructor() {
// this is pseudo code, doens't work
this.http = new Http(...options);
}
}
这只是一个近似值,但这是Dependency Injection背后的总体思想--让框架处理可重用对象的创建和维护……Provider是这些可重用对象(依赖项)的Angular 术语.