angular2.0学习笔记
来源:互联网 发布:c gui qt 4编程 源码 编辑:程序博客网 时间:2024/05/17 21:44
AngularJs架构
这个架构图展现了 Angular 应用中的 8 个主要构造块:
模块 (module)
组件 (component)
模板 (template)
元数据 (metadata)
数据绑定 (data binding)
指令 (directive)
服务 (service)
依赖注入 (dependency injection)
@NgModule
装饰器的类。NgModule
是一个装饰器函数,它接收一个用来描述模块属性的元数据对象。其中最重要的属性是:
declarations
- 声明本模块中拥有的视图类。 Angular 有三种视图类:组件、指令和管道。 exports
- declarations的子集,可用于其它模块的组件模板。 imports
- 本模块声明的组件模板需要的类所在的其它模块。 providers
- 服务的创建者,并加入到全局服务列表中,可用于应用任何部分。 bootstrap
- 指定应用的主视图(称为根组件),它是所有其它视图的宿主。只有根模块才能设置 bootstrap
属性。heroes: Hero[]; selectedHero: Hero;
ngOnInit() { this.heroes = this.service.getHeroes(); }
标签就是一个用来表示新组件
HeroDetailComponent
的自定义元素。数据绑定
- {{hero.name}}
{{hero.name}}
插值表达式在- 标签中显示组件的
hero.name
属性的值。 [hero]
属性绑定把父组件HeroListComponent
的selectedHero
的值传到子组件HeroDetailComponent
的hero
属性中。(click)
事件绑定在用户点击英雄的名字时调用组件的 selectHero
方法。双向数据绑定是重要的第四种绑定形式,它使用
ngModel
指令组合了属性绑定和事件绑定的功能。
ps:DOM定义了访问 HTML 和 XML 文档的标准:
指令 (directive)
*ngFor="let hero ofheroes">
*ngIf="selectedHero">
*ngFor
告诉 Angular 为heroes
列表中的每个英雄生成一个- 标签。
*ngIf
表示只有在选择的英雄存在时,才会包含HeroDetail
组件。
ngModel
指令就是属性型指令的一个例子,它实现了双向数据绑定。 ngModel
修改现有元素(一般是
)的行为:设置其显示属性值,并响应change 事件。 [(ngModel)]="hero.name">
服务
Service
类,用于获取英雄数据,并通过一个已解析的承诺(Promise) 依赖注入
HeroService
之前,在注入器中注册HeroService
的提供商Provider。 providers: [ BackendService, HeroService, Logger],
或者,也可以在@Component
元数据中的providers
属性中把它注册在组件层:
@Component({ moduleId: module.id, selector: 'hero-list', templateUrl: 'hero-list.component.html', providers: [ HeroService ]})
在main.ts中引导
app
目录中一个名为app/main.ts
的单独文件中。bootstrap
数组中提出根AppComponent
,创建该组件的实例,并将其插入到组件selector
标识的元素标签中。AppComponent
选择器— 在这里以及文档大部分例子中 — 是my-app
,所以 Angular 在index.html
中查找像这样的标签...- angular2.0学习笔记
- Angular2学习笔记2
- Angular2 学习笔记
- angular2 学习笔记 1
- angular2学习笔记 2
- angular2 学习笔记3
- angular2学习笔记
- angular2学习笔记
- Angular2学习笔记
- Angular2学习笔记1
- angular2学习笔记(1)
- angular2学习笔记(2)
- angular2学习笔记(3)
- angular2学习笔记(4)
- angular2学习笔记(5)
- angular2学习笔记(6)
- angular2学习笔记(7)
- angular2学习笔记(8)
- 你真的会用Gson吗?Gson使用指南(一)
- git和gerrit
- 面试软件工程师非专业问题
- WEB前端面试问题汇总2
- angular2.0 环境搭建
- angular2.0学习笔记
- Scroller的使用详解二(侧滑删除按钮的实现)
- eclipse中使用git
- .net框架学习笔记
- html5学习笔记
- SQL语句整理
- Hadoop简介
- 网络功能虚拟化VNF
- 前端笔试题目tuniu