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;
}
}
}
が、それはあなたを助けますかどうかを確認するために私の答えを見てください。 –