这是检测以@Input装饰的属性已更改的方式:
export class EmployeeComponent implements OnChanges {
@Input() message: string;
startDate: Date;
ngOnChanges(changes: SimpleChanges) {
for (let propName in changes) {
let change = changes[propName];
if (propName === 'message') {
//do something...
}
}
}
}
这是标记
<app-date-picker [(model)]="startDate"></app-date-picker>
startDate 没有用@Input
装饰,但是如果startDate的值发生变化,我想做些事情。
感谢您的帮助
答案 0 :(得分:2)
您可以按以下方式在日期选择器上使用(onChanged)事件,
<app-date-picker [(model)]="startDate" (onChanged)="onDateChanged()"></app-date-picker>
和 TS
中,
onDateChanged() {
access the changes here
}
答案 1 :(得分:1)
您可以这样做:
<app-date-picker [(model)]="startDate" (modelChange)='dateChanged($event)'></app-date-picker>
使用(modelChange)
的原因很简单,[(model)]
对变量bound使用两种方式的数据绑定。这样我就可以使用[model]
和(modelChange)
了。
@Sajeetharan提到了另一种方式。因此,选择您想要的任何一个。 让我知道这是否有效。