在下面的插件中,我得到一个更改检测错误:

检查后表情发生了变化 . 上一个值:'true' . 当前 Value :'假'

http://plnkr.co/edit/pyA3fEMO4QmeWz9PUaqx?p=preview

它是一个简单的表单向导,有3页使用Angular 2 RC4反应形式 . 关键是表单上当前不可见的字段(在本例中为第2页)是从HTTP请求异步修改的 . 显示包含该字段的页面后,页面的有效属性将在Angular后面更改 . 向导的下一个按钮触发错误:

<button *ngIf="currentPage < cPages - 1" [disabled]="!pageValid()" (click)="next()" class="btn btn-primary pull-right">Next</button>

pageValid() {
    return this.form.controls['page' + this.currentPage].valid;
  }

最初表单组无效,因为它是空的但是给出了 Validator.required . 然后,HTTP请求设置使其有效的输入模型 . 但是,Angular 's change detection isn' t会在 valid 属性的更改上运行 .

有解决方法吗?这实际上是Angular中的一个错误吗?我必须补充一点,错误实际上是间歇性的,有时它会按预期工作,有时它会抛出 .