我正在构建一个输入'有效'的组件。如果我将值绑定到父组件的成员,事情就会很好。但是,如果我将它绑定到像这样的模板引用
<step [valid]="name.valid">
<input type="text" name="name"
#name="ngForm"
[(ngModel)]="name"
required>
</step>
我得到了
检查后表情发生了变化。上一个值:'true'。 当前值:'false'
我部分理解。我得到组件初始化后发生ngForm有效检查,因此值已更改。 我没有得到的是为什么这是一个问题,为什么这可以通过调用enableProdMode()来解决,为什么enableProdMode()是一个坏主意。
我也试过了 使用.detach()和.reattach()的ChangeDetectorRef来临时禁用变化检测,但这并没有解决它,听起来也是个坏主意。
有什么想法吗?
答案 0 :(得分:2)
这是一个已知问题。改为使用
<form #f="ngForm">
<step [valid]="f.controls['name'].valid">