【发布时间】:2018-05-23 01:55:38
【问题描述】:
我正在尝试使用角度类和属性语句切换一组单选按钮。当我单击按钮时,我可以看到 active 类已根据需要添加和删除,checked 属性也已设置。然而,单选按钮实际上并没有被选中。
<div class="btn-group " data-toggle="buttons">
<label class="btn btn-primary" [ngClass]="{'active': s}">
<input type="radio" name="options" id="option1" autocomplete="off" (click)="s=true" [attr.checked]="s"> Yes
</label>
<label class="btn btn-primary" [ngClass]="{'active': !s}">
<input type="radio" name="options" id="option2" autocomplete="off"(click)="s=false" [attr.checked]="!s"> No
</label>
</div>
使用 Angular 5,引导 4.0.0
编辑:不是重复的,因为我知道还有其他方法可以做到这一点。但我想弄清楚为什么上述方法不起作用。
EDIT2:如果我使用(click)="doSomething()" 绑定到一个函数,它就可以工作!但也会导致错误,因为未定义该函数。如果我创建该函数,它会再次停止工作。
【问题讨论】:
-
@Zze 不问怎么做,为什么我的方法不起作用。
-
这种方式更简单,似乎对 DOM 进行了必要的更改。唯一的问题是它不起作用。
-
你试过
[checked]而不是[attr.checked]吗? -
@charsi 这些天我更喜欢stackblitz 而不是 plunkr。它有更好的编译器错误和警告等。