Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 为什么它将索引而不是FormControl对象传递到FormControlNameDirective?_Angular_Angular Directive_Angular Forms - Fatal编程技术网

Angular 为什么它将索引而不是FormControl对象传递到FormControlNameDirective?

Angular 为什么它将索引而不是FormControl对象传递到FormControlNameDirective?,angular,angular-directive,angular-forms,Angular,Angular Directive,Angular Forms,参考:: HTML: 提交 为什么它将i传递到formControlName而不是实际的表单控制城市。因为此代码正在使用名为城市的表单数组: <div formArrayName="cities"> <div *ngFor="let city of cities.controls; index as i"> <input [formControlName]="i" placeholder="City"> </

参考::

HTML:


提交

为什么它将i传递到formControlName而不是实际的表单控制城市。

因为此代码正在使用名为
城市的表单数组:

  <div formArrayName="cities">    
    <div *ngFor="let city of cities.controls; index as i">
        <input [formControlName]="i" placeholder="City">
   </div> 
 </div> 

数组中控件的名称由其索引号定义: 城市[0];城市[1];城市[2];等

city
变量是对控件的引用,而不是它的“名称”,数组的“名称”是索引


有意义吗?

因为此代码正在使用名为“城市”的表单数组:

  <div formArrayName="cities">    
    <div *ngFor="let city of cities.controls; index as i">
        <input [formControlName]="i" placeholder="City">
   </div> 
 </div> 

数组中控件的名称由其索引号定义: 城市[0];城市[1];城市[2];等

city
变量是对控件的引用,而不是它的“名称”,数组的“名称”是索引


有意义吗?

我相当肯定这是因为您没有正确获取索引。您需要这样编写:
,因为该指令接受的是控件名而不是值。我很确定这是因为您没有正确获取索引。您需要这样编写:
因为此指令接受控件名而不是值是的,每个formControl都需要引用一个唯一的名称。索引i是一个完美的候选。是的,每个formControl都需要一个唯一的名称来引用。索引i是一个完美的候选。