Я знаю, что об этом спрашивали много раз, но после прочтения подобных проблем я все еще не могу организовать свой код для исправления этого исключения,
в моем компоненте, у меня есть это свойство, которое динамически изменяется в зависимости от условие
public emailToValue: string
в моем html
пользователь может вручную добавить новую строку, а затем я вызываю канал, чтобы установить значение, назначенное компоненту
<ng-container matColumnDef="emailTo">
<mat-header-cell *matHeaderCellDef mat-sort-header>Email To</mat-header-cell>
<mat-cell *matCellDef="let userMarket">
{{ userMarket | formatEmailTo : emailToValue}}
<input type="text" matInput [value]="userMarket.emailTo">
</mat-cell>
</ng-container>
это мой канал, если адрес электронной почты является нулевым или неопределенным, я установил по умолчанию адрес электронной почты, который будет отображаться в новой строке
@Pipe({
name: 'formatEmailTo',
})
export class FormatEmailPipe implements PipeTransform {
public transform(userMarket: UserMarketDTO, email: string): void {
if (_.isNil(userMarket.emailTo)) {
userMarket.emailTo = email;
}
}
}
функциональность работает, но я получаю это исключение каждый раз, когда я создаю новую строку
ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'value: undefined'. Current value: 'value: suport@support.com'.
Буду признателен за любую помощь
спасибо