Angular4指令(Directive)

前端之家收集整理的这篇文章主要介绍了Angular4指令(Directive)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.Angular4指令分类

  • 组件(Component directive):UI组件,继承于Directive
  • 属性指令(Attribute directive):改变组件的样式;
  • 结构指令(Structural directive):改变DOM布局;

2.组件(Component directive)

  • 代码实例

    1. import { Component } from '@angular/core';
    2.  
    3. @Component({
    4. selector: 'app-root',// 定义组件在HTML代码中匹配的标签
    5. template: `<h1>Hello {{World}}</h1>`,// 指定组件关联的内联模板
    6. })
    7. export class AppComponent {
    8. name = 'World';
    9. }
  • 组件的组成:@Component()里里里面的Template(HTML,CSS);以及export class组件里的属性方法

3.属性指令(Attribute directive) :主要改变组件的样式

  • 主要包括ngStylengClass

    1. //ngStyle
    2. <ul *ngFor="let person of people">
    3. <li [style.color]="getColor(person.country)">
    4. {{ person.name }} ({{person.country}})
    5. </li>
    6. </ul>
    7. //ngClass
    8. <div [ngClass]="{'text-success': person.country === 'CN'}"></div>

4.结构指令(Structural directive) :主要改变DOM的结构

  • 主要包括ngIfngForngSwitch

    1. //ngIf
    2. <div *ngIf="person.country === 'CN'">{{ person.name }} ({{person.country}})</div>
    3. //ngFor
    4. <div *ngFor="let person of people">{{person.name}}</div>
    5. //ngSwitch
    6. <ul [ngSwitch]='person.name'>
    7. <li *ngSwitchCase="Lily" class='text-success'>
    8. {{ person.age}}
    9. </li>
    10. <li *ngSwitchCase="'Tom'" class='text-secondary'>
    11. {{ person.age}}
    12. </li>
    13. <li *ngSwitchDefault class='text-primary'>
    14. {{ person.age}}
    15. </li>
    16. </ul>

猜你在找的Angularjs相关文章