Angular 2中的变化事件是什么?什么时候发送,我该如何使用它?
I. e.通过(change)=“update()”在以下代码中订阅了什么?
I. e.通过(change)=“update()”在以下代码中订阅了什么?
http://plnkr.co/edit/mfoToOSLU6IU2zr0A8OB?p=preview
import {Component,View,Input,Output,EventEmitter,OnChanges} from '@angular/core' @Component({ selector: 'inner-component',template: ` <label><input type="checkBox" [(ngModel)]="data.isSelected"> Selected</label> ` }) export class InnerComponent { data = { isSelected: false }; } @Component({ selector: 'my-app',template: ` <p><inner-component (change)="update()"></inner-component></p> <p>The component was updated {{count}} times</p> `,directives: [InnerComponent] }) export class AppComponent { count = 0; update() { ++this.count; } }
这是冒泡的事件:输入发生变化,然后是dom树的气泡,并在内部组件元素上处理.可以通过记录事件来检查:
http://plnkr.co/edit/J8pRg3ow41PAqdMteKwg?p=preview
@Component({ selector: 'my-app',template: ` <p><inner-component (change)="update($event)"></inner-component></p> <p>The component was updated {{count}} times</p> `,directives: [InnerComponent] }) export class AppComponent { count = 0; update($event) { console.log($event,$event.target,$event.currentTarget); ++this.count; } }