나는에 변화를 감지하려고 시도하고 ngModel
A의 <select>
태그입니다. 각도 1.x에서, 우리는 함께이 문제를 해결 수 $watch
에 ngModel
, 또는 사용하여 ngChange
,하지만 난에 변화를 감지하는 방법을 이해 아직했습니다 ngModel
코너 2.
전체 예 : http://plnkr.co/edit/9c9oKH1tjDDb67zdKmr9?p=info
import {Component, View, Input, } from 'angular2/core';
import {FORM_DIRECTIVES} from 'angular2/common';
@Component({
selector: 'my-dropdown'
})
@View({
directives: [FORM_DIRECTIVES],
template: `
<select [ngModel]="selection" (ngModelChange)="onChange($event, selection)" >
<option *ngFor="#option of options">{{option}}</option>
</select>
{{selection}}
`
})
export class MyDropdown {
@Input() options;
selection = 'Dog';
ngOnInit() {
console.log('These were the options passed in: ' + this.options);
}
onChange(event) {
if (this.selection === event) return;
this.selection = event;
console.log(this.selection);
}
}
보시다시피, 드롭 다운에서 다른 값을 선택하면 ngModel
변경 사항과 뷰의 보간 된 표현식이이를 반영합니다.
내 클래스 / 컨트롤러에서이 변경 사항에 대한 알림을 받으려면 어떻게해야합니까?