Javascript Angular2-*ngIf:如何显示特定元素?

Javascript Angular2-*ngIf:如何显示特定元素?,javascript,angular,Javascript,Angular,我只愿意使用ngIf显示特定元素;然而,由于某些原因,它不起作用 问题:当我单击仅显示特定元素时,所有其他元素都会显示 代码: HTML(元素取自异步请求) 我会像这样更新测试: <div *ngIf="currentElement === finalFormat.elementName"> (...) </div> (...) 对于“单击以显示”块也一样: 点击显示 我认为它可以更简单: <ion-col *ngFor="#finalFormat of

我只愿意使用ngIf显示特定元素;然而,由于某些原因,它不起作用

问题:当我单击仅显示特定元素时,所有其他元素都会显示

代码:

HTML(元素取自异步请求)


我会像这样更新测试:

<div *ngIf="currentElement === finalFormat.elementName">
  (...)
</div>

(...)
对于“单击以显示”块也一样:


点击显示

我认为它可以更简单:

<ion-col *ngFor="#finalFormat of elements">
  <div *ngIf="finalFormat.currentElement">
    <div>Show this element</div>
  </div>
  <div (click)="showThis(finalFormat)" *ngIf="!finalElement.currentElement">CLICK TO SHOW</div>
</ion-col>
所以您基本上只需修改单个
finalFormat
对象的
currentElement
属性

<div *ngIf="currentElement === finalFormat.elementName">
  (...)
</div>
<div (click)="showThis(finalFormat.elementName)" 
     *ngIf="!currentElement !== finalFormat.elementName">
  CLICK TO SHOW
</div>
<ion-col *ngFor="#finalFormat of elements">
  <div *ngIf="finalFormat.currentElement">
    <div>Show this element</div>
  </div>
  <div (click)="showThis(finalFormat)" *ngIf="!finalElement.currentElement">CLICK TO SHOW</div>
</ion-col>
showThis(element) {
  element.currentElement = !element.currentElement;
}