单选按钮拦截Angular/Javascript中未检查的事件

单选按钮拦截Angular/Javascript中未检查的事件,javascript,angular,radio-button,angular4-forms,Javascript,Angular,Radio Button,Angular4 Forms,我正在编写一个使用单选按钮的角度组件(由于项目约束,需要使用默认单选按钮) 我需要打印单选按钮的值(无论是否选中)。例如: <input type="radio" (change)="onUpdate($event)"> <p>{{isActive}}</p> 但这不起作用,因为取消选中单选按钮时不会触发更改事件。当单选按钮未选中时,是否有办法截获事件 请帮忙。我被卡住了 编辑:我正在尝试做什么 我试图写一个自定义单选按钮,这样我就可以自己的风格。我无法编

我正在编写一个使用单选按钮的角度组件(由于项目约束,需要使用默认单选按钮)

我需要打印单选按钮的值(无论是否选中)。例如:

<input type="radio"  (change)="onUpdate($event)">
<p>{{isActive}}</p>
但这不起作用,因为取消选中单选按钮时不会触发更改事件。当单选按钮未选中时,是否有办法截获事件

请帮忙。我被卡住了

编辑:我正在尝试做什么


我试图写一个自定义单选按钮,这样我就可以自己的风格。我无法编写
无线电组
组件。因此,我需要一个围绕默认组件的包装器组件。差不多。我需要unchecked事件,因为我有一些自定义元素,必须通知它们。有什么办法可以做到这一点

使用复选框,将其设置为单选按钮。似乎是最简单的解决方案,当然使用ng模型而不是onChange。

您可以将(更改)替换为(单击),因为每次单击单选按钮都是一种更改

<input type="radio" (click)="onUpdate($event)">
<p>{{isActive}}</p>

{{isActive}}

以上是一个解决方案,但我会使用:

<input type="radio" [(ngModel)]="isActive">
<p>{{isActive}}</p>

{{isActive}}


它将您的单选按钮绑定到iActive属性,因此它会随着单击而动态更改。

因此,使用两个单选按钮可以使此功能正常工作,如果您可以为应用程序建模,请告知我

<input type="radio" name="button" [value]="checked" (change)="checked=!checked">
<input type="radio" name="button" [value]="!checked" (change)="checked=!checked">
<p>{{checked}}</p>

{{checked}}


我正在将组件中的
checked
默认设置为false。

您可以尝试用代码调整此逻辑吗?检查一些新的
收音机
取消选中
其他,我们可以跟踪此行为

<p>
  <input type="radio" name="r1" value="one" [(ngModel)]="isActive">
  <input type="radio" name="r2" value="two" [(ngModel)]="isActive"> 
  <input type="radio" name="r3" value="three" [(ngModel)]="isActive">
</p>

<p>{{isActive}}</p>

{{isActive}}


为什么不在单选按钮中添加一个
[(ngModel)]
属性,而不是检查
event.target.checked
?找到解决方案了吗?如果你在任何时候都有解决方案,请在这里分享。我也在寻找解决方案…不,显然没有解决方案。你可以用无线电组代替无线电控制。好吧,也许我不清楚。。我的要求是这样的。您可以看到,未选中该值时,该值不会更改。有什么办法可以做到这一点吗?你的
stackblitz
链接是空的。也许你忘了存钱了!呜呜呜呜。。更新了好吧也许我不清楚。。我的要求是这样的。您可以看到,未选中该值时,该值不会更改。有没有办法做到这一点?好吧,也许我不清楚。。我的要求是这样的。您可以看到,未选中该值时,该值不会更改。有没有办法做到这一点?
<p>
  <input type="radio" name="r1" value="one" [(ngModel)]="isActive">
  <input type="radio" name="r2" value="two" [(ngModel)]="isActive"> 
  <input type="radio" name="r3" value="three" [(ngModel)]="isActive">
</p>

<p>{{isActive}}</p>