[英]Angular2 - *ngIf : How to show a specific element?
我愿意使用ngIf仅显示特定元素; 但是,由于某种原因,它不起作用。
问题:当我单击仅显示特定元素时,所有其他元素都会显示!
编码:
HTML(元素取自异步请求)
<ion-col *ngFor="#finalFormat of elements">
<div *ngIf="currentElement">
<div>Show this element</div>
</div>
<div (click)="showThis(finalFormat.elementName)" *ngIf="!currentElement">CLICK TO SHOW</div></ion-col>
JS:
showThis(element){
if(this.currentElement === element){
return;
}
this.currentElement = element;
}
我会像这样更新测试:
<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;
}
所以你基本上只是修改单个finalFormat
对象的currentElement
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.