为使用动态ngModel建模的循环内的单选按钮选择默认值

时间:2017-10-31 11:19:02

标签: javascript html html5 angular angular2-ngmodel

我有一个包含输入的for循环,每个循环由五个无线电值组成,其名称和模型是动态的。

我想将值1设置为默认值,我可以使用通常的html“checked”或“checked = checked”但它只能在没有ngModel的情况下工作,如果我使用的是ngModel,我必须在组件类中初始化它但是,因为它是动态的,我无法首先初始化它。

有没有其他选择或者我错过了什么?

<div class="scorecard-attribute" *ngFor="let attribute of opportunity.scorecard.scorecard_attributes">
   <input type="radio" name="{{attribute.name}}" [value]=1 [(ngModel)]="newRating[attribute.id]" checked>
   <input type="radio" name="{{attribute.name}}" [value]=2 [(ngModel)]="newRating[attribute.id]">
   <input type="radio" name="{{attribute.name}}" [value]=3 [(ngModel)]="newRating[attribute.id]">
   <input type="radio" name="{{attribute.name}}" [value]=4 [(ngModel)]="newRating[attribute.id]">
   <input type="radio" name="{{attribute.name}}" [value]=5 [(ngModel)]="newRating[attribute.id]">

1 个答案:

答案 0 :(得分:0)

您可以在HTML文件中尝试此代码,

<div class="scorecard-attribute" *ngFor="let attribute of opportunity.scorecard.scorecard_attributes">
   <input type="radio" [value]="attribute" [(ngModel)]="newRating" (click)="click(attribute)">{{attribute.name}}
</div>

在组件文件

中添加此代码
newRating:any=opportunity.scorecard.scorecard_attributes[0];

click(obj){
   console.log(obj);
}

谢谢,