如何在Angular中动态生成多个无线组

如何在Angular中动态生成多个无线组,angular,typescript,angular2-forms,Angular,Typescript,Angular2 Forms,我试图根据数据库中的数据生成包含标签和两个收音机的列表 component.html代码: <li *ngFor="let method of testMethods"> {{ method }} <input type="radio" [(ngModel)]="stepResult" name={{method}} value="pass">Pass <input type="radio" [(ngModel)]="stepResul

我试图根据数据库中的数据生成包含标签和两个收音机的列表

component.html代码:

<li *ngFor="let method of testMethods">
     {{ method }}
     <input type="radio" [(ngModel)]="stepResult" name={{method}} value="pass">Pass
     <input type="radio" [(ngModel)]="stepResult" name={{method}} value="fail">Fail
 </li>
我想要得到的是如下列表:

  • 第一步()通过()失败
  • 第二步()通过()失败
  • 第三步()通过()失败

我的问题是,当我为一个步骤选择“通过”时,所有“PASSS”都被选中。我做错了什么?

您正在用一个变量stepResult绑定所有输入,因此当发生更改时,所有输入都会更新。例如,您可以使stepResult成为一个值数组:

 <li *ngFor="let method of testMethods; let i = index">
     {{ method }}
     <input type="radio" [(ngModel)]="stepResult[i]" name={{method}} value="pass">Pass
     <input type="radio" [(ngModel)]="stepResult[i]" name={{method}} value="fail">Fail
 </li>
 <li *ngFor="let method of testMethods; let i = index">
     {{ method }}
     <input type="radio" [(ngModel)]="stepResult[i]" name={{method}} value="pass">Pass
     <input type="radio" [(ngModel)]="stepResult[i]" name={{method}} value="fail">Fail
 </li>
stepResult = [];