以下代码将用于显示用户的详细信息。截至目前,我们只有一个用户和三个权限。数组定义如下:
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>
但它说
无法阅读财产&#39;权限&#39;未定义的
如何在嵌套的?
中访问变量答案 0 :(得分:3)
由于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>