首页 > 解决方案 > 如何检测绑定属性的值在角度 4 中发生了变化

问题描述

这是您检测用 @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 的值发生变化,我想做一些事情。

感谢您的帮助

标签: angular

解决方案


您可以在日期选择器上使用 (onChanged) 事件,如下所示,

<app-date-picker [(model)]="startDate" (onChanged)="onDateChanged()"></app-date-picker>

并且在TS,

 onDateChanged() {
     access the changes here 
 }

推荐阅读