【问题标题】:Console shows me a ExpressionChangedAfterItHasBeenCheckedError in Angular 7控制台向我显示 Angular 7 中的 ExpressionChangedAfterItHasBeenCheckedError
【发布时间】:2020-06-03 01:28:42
【问题描述】:

使用我的 Angular 项目,我在小部件中添加了日期范围过滤器(带有起始日期和截止日期),当我的系统启动时,过滤器必须具有当前月份的第一天和当前日期,它正在工作,但控制台向我显示以下消息。

ExpressionChangedAfterItHasBeenCheckedError:检查后表达式已更改。以前的值:'fromDate: undefined'。当前值:'fromDate: Mon Jun 01 2020 21:17:17 GMT-0400 (hora estándar de Chile)'。

我的组件模板中的行如下:

 <div class="range-date"  *ngIf = "item?.id === this.widgetEnum.process">
                    <app-range-date [enableInitDate]="true" [(fromDate)]="item.fromDate" [(toDate)]="item.toDate" (dateChange)="changeDateProcess(item)"></app-range-date>
                  </div>

请你给我一个关于它的想法吗?

【问题讨论】:

  • 可以分享ts中的相关代码吗?

标签: javascript angular error-handling widget expression


【解决方案1】:

您有两种方式绑定 toDate 和 fromDate。这很好,但是您还有一个输入 (dateChange),我认为它也会影响组件中的 toDate 和 fromDate 变量(不确定没有组件类代码)。你只能做一个或另一个。删除 (dateChange) 或使其成为单向绑定

<div class="range-date"  *ngIf = "item?.id === this.widgetEnum.process">
                <app-range-date [enableInitDate]="true" [(fromDate)]="item.fromDate" [(toDate)]="item.toDate"></app-range-date>
              </div>

<div class="range-date"  *ngIf = "item?.id === this.widgetEnum.process">
                <app-range-date [enableInitDate]="true" [fromDate]="item.fromDate" [toDate]="item.toDate" (dateChange)="changeDateProcess(item)"></app-range-date>
              </div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多