How to listen for value changes from class property TypeScript - Angular

前端 未结 5 1214
情话喂你
情话喂你 2020-12-13 06:57

In AngularJS, we can listen variable change using $watch, $digest... which is no longer possible with the new versions of Angular (5, 6).

I

5条回答
  •  一个人的身影
    2020-12-13 07:45

    You can still check component's field members value change by KeyValueDiffers via DoCheck lifehook.

    import { DoCheck, KeyValueDiffers, KeyValueDiffer } from '@angular/core';
    
    differ: KeyValueDiffer;
    constructor(private differs: KeyValueDiffers) {
      this.differ = this.differs.find({}).create();
    }
    
    ngDoCheck() {
      const change = this.differ.diff(this);
      if (change) {
        change.forEachChangedItem(item => {
          console.log('item changed', item);
        });
      }
    }
    

    see demo.

提交回复
热议问题