Angular4之依赖注入
Constructor(private service:Hero Service){}
我们先用注入器(Injector)为HeroService注册一个提供商(provider),提供商用来创建或返回服务,通常就是这个服务类本身(相当于new HeroService())
我们可以在模块中或组件中注册提供商。
但通常会把提供商添加到根模块(src/app/app.module.ts)中,以便在任何地方都使用服务的同一个实例。
或者,也可以在@Component元数据中的providers属性中把它注册在组建层:
src/app/hero-list.component.ts(component providers)
@Component({
selector: 'app-hero-list',
templateUrl: './hero-list.component.htnl',
providers: [HeroService]
})
把它注册在组件级表示该组件的每一个新实例都会有一个服务的新实例。
需要记住的关于依赖注入的要点是:
*依赖注入渗透在整个Angular框架中,被到处使用。
*注入器(Injector)是本机制的核心
*注入器负责维护一个容器,用于存放它创建过的服务实例。
*注入器能使用提供商创建一个新的服务实例。
*提供商是一个用于创建服务的配方。
*把提供商注册到注入器。