下面的代码将用于显示用户的详细信息。到目前为止,我们只有一个用户和三个权限。定义如下的数组:
1) Users = [{'FirstName':'John','permission':['masters','transactions']}]
2) permissions = ['masters','transactions','settings']第一个for循环迭代用户,第二个是权限。逻辑是,如果用户权限中存在来自权限的权限,则将复选框标记为true。
<div *ngFor="let user of users">
<label> user.FirstName </label>
<ol>
<li *ngFor="let permission in permissions">
<input type="checkbox" checked="user.permission.indexOf(permission)"
</li>
</ol>
</div>但上面写着
无法读取未定义的属性“权限”
如何访问嵌套的变量?
发布于 2018-02-06 06:16:57
由于permissions是数组,您应该使用of而不是in,所以没有像in这样的最新的角度版本:
改变:
<li *ngFor="let permission in permissions">至
<li *ngFor="let permission of permissions">您的代码应该如下所示:
<div *ngFor="let user of Users">
<label> {{ user.FirstName }} </label>
<ol>
<li *ngFor="let permission of permissions">
{{ permission }}
<input type="checkbox" [checked]="user.permission.indexOf(permission)> -1 ? true : false">
</li>
</ol>
</div>https://stackoverflow.com/questions/48636561
复制相似问题