• 使用双向数据绑定

    使用双向数据绑定

    双向数据绑定使用ngModel指令将输入和输出绑定组合为单个符号。

    1. <input [(ngModel)]="name" >

    它幕后做的相当于:

    1. <input [ngModel]="name" (ngModelChange)="name=$event">

    要创建一个支持双向绑定的组件,你必须定义一个@Output属性匹配@Input,但后缀为Change,例如:

    app/counter.component.ts

    1. import { Component, Input, Output, EventEmitter } from '@angular/core';
    2. @Component({
    3. selector: 'rio-counter',
    4. templateUrl: 'app/counter.component.html'
    5. })
    6. export class CounterComponent {
    7. @Input() count = 0;
    8. @Output() countChange = EventEmitter<number>();
    9. increment() {
    10. this.count++;
    11. this.countChange.emit(this.count);
    12. }
    13. }

    app/counter.component.html

    1. <div>
    2. <p>
    3. <ng-content></ng-content>
    4. Count: {{ count }} -
    5. <button (click)="increment()">Increment</button>
    6. </p>
    7. </div>

    View Example