注意:这与<{3}}
上的其他问题 相同的问题这是我的代码(Angular 2 rc2 app with deprecated forms):
<form #myForm="ngForm">
<input id="inputControlX" ngControl="inputControlX" pattern="abcd">
{{inputControlX.valid}}
</form>
inputControlX 已正确验证(ng-invalid类被添加到输入中)。 但是当我添加
{{inputControlX.valid}}
或
{{myForm.inputControlX.valid}}
或
{{ngForm.inputControlX.valid}}
我一直收到错误:无法读取未定义的属性。 另一方面,添加(如https://stackoverflow.com/questions/38356330/how-to-use-pattern-validation-in-angular-2-based-on-ngmodel-template-model-driv) #inputControlX =“ngForm”,使其工作(即使没有ngControl)
为什么这有必要?
答案 0 :(得分:1)
您必须在此处使用setRepeatMode(ValueAnimator.INFINITE);
运算符/ Elvis
指令,因为当angular尝试评估页面的绑定时,ngIf
对象尚未初始化。因此,在评估myForm
表达式时,myForm.inputControlX.valid
对象未定义该时间,因此会引发错误。
myForm