Angular-依赖注入

Angular-依赖注入

1、依赖,是当类需要执行其功能时,所需要的服务或对象。 DI 是一种编码模式,其中的类会从外部源中请求获取依赖,而不是自己创建它们
在Angular中,DI框架会在实例化该类是向其提供这个类所声明的依赖项。
创建一个可注入的服务类
import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class HeroService {
  constructor() { }
}
@Injectable()装饰器吧该类标记为可供注入的服务。

2、用服务提供者配置注入器
注入器:Angular 会在执行应用时为你创建注入器,第一个注入器是根注入器,创建于启动过程中。
服务提供者:顾名思义就是 将服务类放到哪个层级(层级包括root、model、component),这个层级就是该服务类的提供者
你可以在三种位置之一设置元数据,来配置将服务类放到哪个层级,以便在应用的不同层级使用提供者来配置注入器:
在服务本身的 @Injectable() 装饰器中。
在 NgModule 的 @NgModule() 装饰器中。
在组件的 @Component() 装饰器中。
@Injectable() 装饰器具有一个名叫 providedIn 的元数据选项,在那里你可以指定把被装饰类的提供者放到 root 注入器中,或某个特定 NgModule 的注入器中。
@NgModule() 和 @Component() 装饰器都有用一个 providers 元数据选项,在那里你可以配置 NgModule 级或组件级的注入器。

3、注入服务
constructor(heroService: HeroService)
在某个注入器的范围内,服务是单例的。
注入器有继承机制,子注入器会继承父注入器的在我们去注入一个服务的时候,会向上查找注入器是否有提供该服务类,如果没有,就向上一层查找,直到根注入器。
所以在这里设计代码时候,我们可以在某个父组件或者模块下提供一个服务类,那么这个服务类的可用范围就是这个父组件树或者模块树下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值