RadioButton ngmodel不适用于布尔值

vin*_*r-s 3 boolean radio-button angular2-ngmodel angular

我在ngModel的Sample中有两个单选按钮。

<div id="container">
    <input type="radio" id="radiobuttonstoerung1" label="Blinkend" name="stoerungBlinkend" [(ngModel)]="project.modelvalue"
          value="true"/>
    <input type="radio" id="radiobuttonstoerung2"  label="Dauersignal" name="stoerungBlinkend" [(ngModel)]="project.modelvalue"
  value="false"/>
</div>
Run Code Online (Sandbox Code Playgroud)

当我传递布尔变量时,它不起作用。

export class RadioButtonController implements OnInit {
    project = { modelvalue: true };
}
Run Code Online (Sandbox Code Playgroud)

样本链接: https : //stackblitz.com/edit/angular-cxt8bs-quvb7y?file=radiobutton.html

情景当我通过“stoerungBlinkend”为真,单选按钮与价值=“真实”应该进行检查。如果我将其传递为false,则应检查值为=“ false”的RadioButton。

我已经找到了解决方法,但是没有人能详细解释为什么上述情况不起作用吗?

Con*_*Fan 9

如Angular 文档中所述,使用设置单选按钮值时value="true",实际上是将值设置为字符串"true",该字符串与布尔值不同true

要在输入元素上设置布尔值,请使用属性绑定[value]="true"

<input type="radio" ... [(ngModel)]="project.stoerungBlinkend" [value]="true" />    
<input type="radio" ... [(ngModel)]="project.stoerungBlinkend" [value]="false" />
Run Code Online (Sandbox Code Playgroud)

有关演示,请参见此堆叠闪电战