如何将局部变量附加到*ngFor
循环?
以下工作正常,但如果我的数组<listInstruction>
包含多个项目,则循环将生成两个.divTest
。这个逻辑是正确的,但<myLocalVariable>
中的.divTest
是相同的。我希望每个myLocalVariable
中有两个不同范围.divTest
的变量。
<div *ngFor="let instruction of listInstruction; let i = index; let myLocalVariable=false">
<div class="divTest" (click)="myLocalVariable=!myLocalVariable">Click here</div>
</div>
我该怎么做?谢谢:))
答案 0 :(得分:2)
我认为让myLocalVariable实际存储在组件中而不是模板中的最佳做法。
我可能会这样做:
组件:
state;
ngOnInit() {
state = { myLocalVariables: [] };
for(var i = 0; i < listInstruction.length; i++){
state.myLocalVariables.push(false);
}
}
模板:
<div *ngFor="let instruction of listInstruction; let i = index;">
<div class="divTest" (click)="state.myLocalVariables[i]=!state.myLocalVariables[i]">Click here</div>
</div>