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

ExpressionChangedAfterItHasBeenCheckedError:检查表达式后,表达式已更改。上一个值:'fromDate:undefined'。当前值:'fromDate:Mon Jun 01 2020 21:17:17 GMT-0400(horaestándarde 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>

请您能给我这么多的想法吗?

最佳答案

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

<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>

关于javascript - 控制台在Angular 7中向我显示了ExpressionChangedAfterItHaHasBeenCheckedError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62163828/

10-10 05:16