【发布时间】:2020-06-16 09:01:54
【问题描述】:
我知道这个问题已经被问过很多次了,但是在阅读了类似的问题之后,我仍然无法组织我的代码来修复这个异常,
在我的组件中,我有这个根据条件动态变化的属性
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>
这是我的管道,如果电子邮件为 null 或未定义,我默认设置一个电子邮件以显示在新行中
@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'.
我会很感激任何帮助
谢谢
【问题讨论】:
标签: angular typescript