将 ngModel 模板引用变量作为 AbstractControl 传递给输入变量

Passing ngModel Template Reference Variable to Input Variable as AbstractControl

我正在尝试将 ngModel 引用的 AbstractControl 传递给另一个组件上的输入变量。

据此:https://angular.io/guide/form-validation#template-driven-validation(代码段下的第二个项目符号),#name="ngModel" 将 NgModel 导出到名为 name 的局部变量中。 NgModel 反映了其底层 FormControl 实例的许多属性,因此您可以在模板中使用它来检查控件状态,例如有效和脏

如果我没看错的话,我应该能够将 name 模板引用变量中的 FormControl(继承自 AbstractControl)传递给另一个组件,一些东西像这样: <my-component for="name"></my-component> 其中 MyComponent class for 是一个采用 AbstractControlInput 变量。然后我应该能够使用 for 作为 AbstractControl.

我不能。当我调试时,for 是一个字符串,其值为 "name".

知道我遗漏了什么吗?我的目标是能够集中验证处理并在 MyComponent 中显示,因此我需要访问 AbstractControl(或 FormControl)以获取我尝试验证的任何字段。

name 需要方括号才能解析,所以

<my-component [for]="name"></my-component>

否则,它被视为字符串/