【发布时间】:2017-09-24 10:48:14
【问题描述】:
晚上好开发人员,所以我在将动态生成的复选框绑定到数组中的值时遇到了这个问题。基本上我的 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>
基本上,它的作用是根据动态生成的给定复选框更新用户的角色。现在(更改)效果很好,但 [checked] 抛出错误,说明如下:
无法读取未定义的属性“包含”
我不知道为什么,因为无论我在哪里看,它都指向我对这种类型的动态内容使用这种绑定。因此,如果您有任何指示,那将是很棒的。提前感谢大家的任何建议。
【问题讨论】:
-
似乎
userRoles没有在任何地方定义?它来自哪里? -
我在开始时将其定义为 userRoles: any[]; 然后在 ngOnInit() 上初始化其数据以使其填充。
-
你能展示一下它的内容样本吗?
-
[ "Admin", "CanGenerateTransactions", "CanSeeTransactions" ] 例如,这是我的用户角色,我做了一个 console.log(this.userRoles) 检查它不为空。
标签: angular typescript checkbox