网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Angular中依赖注入模式是什么

这篇文章主要介绍Angular中依赖注入模式是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

木兰网站建设公司成都创新互联公司,木兰网站设计制作,有大型网站制作公司丰富经验。已为木兰成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的木兰做网站的公司定做!

Angular 依赖注入模式

依赖注入:Dependency Injection 简称 DI

依赖注入模式要解决的问题

开发中, 会经常遇见对象的实例化, 当多个对象之间存在依赖时, 手工实例化会特别麻烦。

如果一个对象A要依赖对象 B, 那么对象 A 不需要明确地去实例化B对象, B 会由外部机制注入进来, 对象 A 只需要声明一个B对象就行。 这就是依赖注入要解决的问题。

与依赖注入经常同时出现的另一个概念叫做控制反转

控制反转:Inversion of Control 简称 IOC, 是指将依赖的控制权从代码的内部反转到代码的外部。

依赖注入控制反转是一体两面, 表达的是一个思想。 依赖注入侧重于描述手段, 即如何实现控制反转, 控制反转侧重于描述目的, 即目的是将依赖的控制权从代码的内部反转到代码的外部。

相关教程推荐:《angular教程》

依赖注入模式的好处

  • 松耦合,可重用

  • 提高组件的可测试性

Angular 如何实现依赖注入

注入器

每个组件都有一个注入器实例, 负责注入组件需要的对象。 注入器是 Angular 提供的一个服务类。 一般情况下不用直接调用注入器的方法, 注入器会自动通过组件的 构造函数(constructor)将组件需要的对象注入进组件。 提供器会告诉注入器如何创建实例。

提供器

为了让注入器知道注入的对象如何实例化,需要指定提供器,一般情况下,我们会通过组件或模块的 providers 属性声明需要提供的对象。

一般声明方式
providers:[{provide:AService, useClass: AServivce}] <=> providers:[AService]
provide 属性:指定了提供器的令牌(token)
useClass 属性:表示实例化方式是 new
工厂方法声明方式
使用 useFactory 方式实例化对象
providers:[
  {
    provide:AService, 
    useFactory: (bService: BService) => {
      ....
    },
    deps:[BService] //deps声明工厂方法所依赖的服务。
    ]
工厂方法创建的对象是单例对象

在构造函数(constructor)中声明的对象,会根据类名去匹配提供器(providers)中的令牌(token),然后根据 useClass 属性的值去实例化指定的对象。

提供器注入规则
  • 当一个提供器声明在模块时,对所有组件都是可见的,所有组件都可以注入;

  • 当一个提供器声明在组件时,只对声明它的组件和子组件可见,其他组件不可见;

  • 当声明在模块的提供器与声明在组件的提供器具有相同 token 时,声明在组件的提供器会覆盖声明在模块的提供器;

  • 一般情况下,我们都应该在模块中声明提供器。

以上是“Angular中依赖注入模式是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享题目:Angular中依赖注入模式是什么
本文链接:http://bjjierui.cn/article/gjjjdi.html

其他资讯