Angular 在渲染模板时,它会根据指令提供的操作对 DOM 进行转换。
组件是一个带模板的指令;@Component装饰器实际上就是一个@Directive装饰器,只是扩展了一些面向模板的特性
。
结构型指令通过在 DOM 中添加、移除和替换元素来修改布局。
<li *ngFor="let hero of heroes"></li>
<hero-detail *ngIf="selectedHero"></hero-detail>
- *ngFor告诉 Angular 为heroes列表中的每个英雄生成一个
<li>
标签
。
- *ngIf表示只有在选择的英雄存在时,才会包含HeroDetail组件。
属性型 指令修改一个现有元素的外观或行为。
<input [(ngModel)]="hero.name">
ngModel指令就是属性型指令的一个例子,它实现了双向数据绑定。 ngModel修改现有元素(一般是<input>
)的行为:设置其显示属性值,并响应 change 事件。