Угловой 2: как я могу обнаружить изменения атрибутов для входных атрибутов компонента?
У меня есть Angular 2 Controller, который выглядит так:
@Component({
selector: 'my-component',
template: '<div>The value is: {{ value }}</div>',
})
class MyComponent implements OnInit {
@Input()
value: string;
@Output
valueChange = new EventEmitter<number>();
ngOnInit() {
this.valueChange.subscribe(value => {
console.log('new value:', value); // <-- does not get triggered
});
}
}
Но когда значениеvalue
изменения из шаблона привязки:
<my-component [value]="someValue" /> <!-- valueChange not triggered! -->
valueChange
событие не инициируется, поэтому, хотя шаблон корректно обновляется и показывает новое значение, компонент не знает, что оно было изменено.
Как я могу определить, изменились ли входные атрибуты на моем контроллере?