Angular 2 构架 - 指令(Directives)

Angular 2 应用程序应用主要由以下 8 个部分组成

  1. 模块 (Modules)
  2. 组件 (Components)
  3. 模板 (Templates)
  4. 元数据 (Metadata)
  5. 数据绑定 (Data Binding)
  6. 指令 (Directives)
  7. 服务 (Services)
  8. 依赖注入 (Dependency Injection)

下图展示了每个部分是如何相互工作的

图中

  1. 模板 (Templates)是由 Angular 扩展的 HTML 语法组成

  2. 组件 (Components)类用来管理这些模板

  3. 应用逻辑部分通过服务 (Services)来完成,然后在模块中打包服务与组件, 最后通过引导根模块来启动应用

依赖注入

控制反转(Inversion of Control,缩写为 IoC ),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度

其中最常见的方式叫做依赖注入(Dependency Injection,简称 DI ),还有一种方式叫 "依赖查找" (Dependency Lookup)

通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它,也可以说,依赖被注入到对象中

在传统的开发模式中,调用者负责管理所有对象的依赖,循环依赖一直是梦魇,而在依赖注入模式中,这个管理权交给了注入器(Injector),它在软件运行时负责依赖对象的替换,而不是在编译时

这种控制反转,运行注入的特点即是依赖注入的精华所在

AngularJS 依赖注入

Angular 能通过查看构造函数的参数类型,来得知组件需要哪些服务

例如, SiteListComponent 组件的构造函数需要一个 SiteService:

constructor(private service: HeroService) { }

当 Angular 创建组件时,会首先为组件所需的服务找一个注入器( Injector )

注入器是一个维护服务实例的容器,存放着以前创建的实例。

如果容器中还没有所请求的服务实例,注入器就会创建一个服务实例,并且添加到容器中,然后把这个服务返回给 Angular

当所有的服务都被解析完并返回时, Angular 会以这些服务为参数去调用组件的构造函数,这就是依赖注入

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.