将id数组绑定到Angular4中动态生成的复选框

时间:2017-09-24 02:30:15

标签: angular typescript checkbox

晚上好开发人员,所以我将动态生成的复选框绑定到数组中的值时遇到此问题。基本上我的 users.template.html 文件中包含以下内容:

<div *ngFor="let r of roles" class="checkbox">
   <label for="">
      <input type="checkbox" id="{{ r.name }}" (change)="onRoleChange(r.name, $event)" [checked]="userRoles.includes(r.name)"> {{ r.name }}
   </label>
</div>

它基本上所做的是根据动态生成的给定复选框更新用户所拥有的角色。现在(更改)工作得非常好,但[已检查]会抛出错误说明以下内容:

无法阅读财产&#39;包括&#39;未定义的

我不知道为什么,因为我看到的每个地方都指向我对这种类型的动态内容使用这种绑定。所以如果你有它们,任何指针都会很棒。提前感谢大家的任何建议。

1 个答案:

答案 0 :(得分:0)

根据我的理解,你不能直接在模板中调用特定type的对象的继承方法。您可以调用组件方法,而不是为您进行计算。

<input type="checkbox" id="{{ r.name }}" (change)="onRoleChange(r.name, $event)" [checked]="presentInUserRoles(r.name)">
  

成分<​​/ P>

presentInUserRoles(role: string): boolean {
 return this.userRoles.includes(role);
}