[英]Angular2 bind event / DOM in ngFor loop
在例如下面的示例中,實現ngFor內的div可見性切換的最佳方法是什么? 每次點擊都應切換來自同一迭代的div可見性。 問題實際上是如何正確綁定此事件/ DOM。
<div *ngFor="let hero of heroes; let i = index">
<div [hidden]="?">Toggle my visibility</div>
<div (click)="?">Click me</div>
</div>
我認為最好的解決方案是用可見性屬性創建另一個數組。 因此,一個數組(每個英雄在加載時可見):
this.heroesVisibility = new Array(this.heroes.length).fill(true);
以及組件類中的函數:
public toggleVisibility(id : number) : void {
this.heroesVisibility = !this.heroesVisibility;
}
然后在模板中:
<div *ngFor="let hero of heroes; let i = index">
<div [hidden]="!heroesVisibility[i]">Toggle my visibility</div>
<div (click)="toggleVisibility(i)">Click me</div>
</div>
將其設置為* ngIf =“”。.創建一個布爾變量並在單擊時對其進行更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.