【发布时间】:2017-05-02 18:15:04
【问题描述】:
我有这个 ng 模板。一切都与循环一起工作。唯一的问题是我不能用“let-title”传递“title”变量。
我的语法有什么问题?我需要 *ngIf 的星号吗?
"selectPerm(title)" 不起作用。它始终是未定义的。
<ng-template ngFor
let-perm
let-title="permission.title"
[ngForOf]="permission.data.permissions"
*ngIf="editForm.controls.permissions.controls[permission.data.id].value == '0'">
<tr>
<td></td>
<td>{{perm.name}}</td>
<td><label>Allow: <input type="radio" value="1" formControlName="{{perm.id}}" (click)="selectPerm(title)"></label></td>
<td><label>Deny: <input type="radio" value="-1" formControlName="{{perm.id}}" (click)="selectPerm(title)"></label></td>
<td></td>
</tr>
</ng-template>
【问题讨论】:
-
我相信您正在引用变量权限,但您尚未声明该变量。 permission.title 将失败,因为权限未定义。不确定,但将
permission.title替换为perm.title可以解决吗? -
1. ngFor NgForOfContext 从 ngForOf 创建一个上下文,而 let-title 不会做任何事情。 2.如果认为你只能将一个结构指令应用于一个元素。所以没有 ngFor 和 ngIf 在一起。