考虑以下代码:
<div [ngClass]="var.state">
<div *ngFor="let var of vars">{{var.text}}</div>
</div>
由于var
仅限ngFor
循环上下文中的范围,因此会失败。如您所见,我需要在循环上下文之外对var
数据进行一些分区。是否有可能将其包含在任何其他黑客的某个模板变量中?
注意:我知道,这是设计上的行为,上面的代码已经简化了(var
需要几个级别)。
答案 0 :(得分:1)
在 component.ts 文件中使用它的唯一方法,并将所需的一个存储为变量并在html中使用。
app.component.ts
flag:any;
ngOnInit(){
vars.forEach(var=>{
if(var=="some-condition")
//yes set this flag
});
}
app.component.html
<div [ngClass]="flag">
<div *ngFor="let var of vars">{{var.text}}</div>
</div>
因为你只能通过进入列表来获取列表的值。
答案 1 :(得分:0)
为什么不简单地这样做?
<div *ngFor="let var of vars" [ngClass]="var.state">
<div>{{var.text}}</div>
</div>