繁体   English   中英

ngFor循环中的Angular2绑定事件/ DOM

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM