Javascript 角度2单选按钮已检查

Javascript 角度2单选按钮已检查,javascript,angular,Javascript,Angular,使用旧表单,我可以设置单选按钮,如下所示: <div class="radio" *ngFor="let transport of transports"> <label> <input type="radio" name="transport" [ngModel]="{checked: transport.id == selectedTransport.id}" (change)="onTransportChange(transport)"> {{

使用旧表单,我可以设置单选按钮,如下所示:

<div class="radio" *ngFor="let transport of transports">
  <label>
   <input type="radio" name="transport" [ngModel]="{checked: transport.id == selectedTransport.id}" (change)="onTransportChange(transport)"> {{ transport.name }}
  </label>
</div>
这是可行的,但如果我设置了
[ngModel]
,这将不再检查:

<input type="radio" name="transport" [checked]="transport.id == selectedTransport.id" [ngModel]="transport" (change)="onTransportChange(transport)"> {{ transport.name }}
{{transport.name}
编辑:

使用旧形式的Plunker:

使用新的形式:


有人能帮我吗?谢谢

尝试指定值属性。 不要忘记,对于单选按钮,模型不应包含布尔值,但应包含单选特定值,如:

牛肉
羔羊
鱼

在这种情况下,您不需要[checked]属性。

您的ng模型返回的值是多少。。??它的价值可能会导致单选按钮再次被取消选中…。@Mr.Noddy感谢您的回复,我编辑了我的问题,添加了一个包含新旧表单的plunker…您在此期间找到解决方案了吗?
<input type="radio" name="transport" [checked]="transport.id == selectedTransport.id" [ngModel]="transport" (change)="onTransportChange(transport)"> {{ transport.name }}
  <input type="radio" name="food" value="beef" [(ngModel)]="myFood"> Beef
  <input type="radio" name="food" value="lamb" [(ngModel)]="myFood"> Lamb
  <input type="radio" name="food" value="fish" [(ngModel)]="myFood"> Fish