如何将复选框标记为已检入的角度4

use*_*549 3 angular angular4-forms

我是角度2的新手.我需要在按钮点击上标记复选框.我在循环中有一些复选框

 <tr *ngFor="let roleObj of roleNameList">
      <td>
         <input type="checkbox"   id ={{roleObj.roleID}} />
     </td>
     <td>{{roleObj.roleName}}</td>
  </tr>
Run Code Online (Sandbox Code Playgroud)

我有一个选定角色的阵列,只需要在编辑按钮单击上标记这些复选框.所以我在javascript中做了同样的事情

 document.getElementById("role").checked
Run Code Online (Sandbox Code Playgroud)

但是在角度4中没有这样的属性.

我搜索并发现有一个属性绑定

[checked] ="somevariable"

但问题是相同的属性[checked] ="somevariable"将添加所有复选框.结果是当我将somevariable指定为true时.它将标记所有复选框.

我在jquery中的其他解决方案就像

$(document.getElementById(role)).prop('checked', true);
Run Code Online (Sandbox Code Playgroud)

但可能会产生问题,我不确定请纠正我.

请帮我.任何线索或逻辑都与我的日子相同.

bug*_*ugs 7

您可以修改对象以包含布尔checked属性(即roleObj.checked = false),并在需要时动态更新相关属性.

然后你标记就变成了

<input type="checkbox" [checked]="roleObj.checked" id ={{roleObj.roleID}} />