事件未在Angular2中的复选框内触发

前端之家收集整理的这篇文章主要介绍了事件未在Angular2中的复选框内触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经尝试了一切我能想到的事情,当一个复选框改变状态但是我似乎无法让它工作时触发事件.

这是html

<div *ngIf="role?.ACTIVE_FLAG === 'Y'">
   <div class="label"> Active Record </div>
      <input type="checkBox" (click)="toggleRoleActive()" checked>
</div>
<div *ngIf="role?.ACTIVE_FLAG === 'N'">
   <div class="label"> Active Record </div>
      <input type="checkBox" (click)="toggleRoleActive()">
</div>

这是toggleRoleActive()
编辑:

toggleRoleActive(){
    if(this.role_submit.ACTIVE_FLAG === 'Y'){
        this.role_submit.ACTIVE_FLAG = 'N';
    }else {
        this.role_submit.ACTIVE_FLAG = 'Y';
    }
}

我面临的挑战之一是,当我从服务器获取数据时,需要检查或不检查按钮.但是,如果他们想要停用或重新激活我希望它回复该复选框的角色.

我尝试使用[(ngModel)],(更改)和更简单的解决方案,但唯一触发任何事件的是[(ngModel)],但这样做我最终得到的是真/假而不是’Y’/ ‘N’.此外,如果我使用[(ngModel)],则无论我的服务器发送什么数据,都会始终将复选框标记为已选中.

您可以单独处理赋值和更改事件处理程序:
<input type="checkBox" 
  [ngModel]="role?.ACTIVE_FLAG === 'Y' ? true : false"        
  (ngModelChange)="toggleRoleActive()" checked>

猜你在找的Angularjs相关文章