Похоже, что вы ищете крючок жизненного цикла DoCheck
(link to docs). Это событие, которое будет запущено после каждого завершенного раунда обнаружения изменений. Имейте в виду, что это потенциально может быть вызвано много, и выполнение тяжелых операций в этом крюке может оказать серьезное негативное влияние на производительность.
Вот пример, который выглядит для изменения на person.firstName
собственности, и регистрирует его в консоль, если обнаружены изменения:
import { Component, DoCheck } from '@angular/core';
@Component({
selector: 'app-root',
template: `<input type="text" [(ngModel)]="person.firstName">`,
styleUrls: ['./app.component.css']
})
export class AppComponent implements DoCheck {
person = { firstName: 'Donald', lastName: 'Duck' };
oldFirstName: string;
ngDoCheck() {
if (this.person.firstName !== this.oldFirstName) {
console.log(`Change first name from "${this.oldFirstName}" to "${this.person.firstName}"`);
this.oldFirstName = this.person.firstName;
}
}
}
Пожалуйста, посмотрите на мой ответ, чтобы увидеть, если это поможет вам –