ETA: Я знаю, что есть различные способы посмотреть мою форму изменений. Это не то, что я пытаюсь сделать. Как говорится в названии, я спрашиваю, как следить за изменениями в объекте. Приложение, показанное ниже, предназначено только для иллюстрации. Пожалуйста, ответьте на вопрос, который я задал. Спасибо!
У меня есть это простое приложение:
import { Component, OnInit } from '@angular/core';
export class Customer {
firstName: string;
favoriteColor: string;
}
@Component({
selector: 'my-app',
template: `
<div *ngIf="customer">
<input type="text" [(ngModel)]="customer.firstName">
<input type="text" [(ngModel)]="customer.favoriteColor">
</div>
`
})
export class AppComponent implements OnInit {
private customer: Customer;
ngOnInit(): void {
this.customer = new Customer();
// TODO: how can I register a callback that will run whenever
// any property of this.customer has been changed?
}
}
Обратите внимание на TODO. Мне нужно зарегистрировать обратный вызов, который будет выполняться всякий раз, когда будет изменено любое свойство this.customer
.
Я не могу использовать ngChange на входах. Мне нужно подписаться непосредственно на изменения в модели. Причины относятся к моему прецеденту и не стоит здесь входить. Просто поверьте мне, что это не вариант.
Возможно ли это? Я сделал много Googling, но я придумал сухую.