[英]How can I display and hide a div with [ngStyle] after doing click on a <button>
I´m trying to display a div after doing a click on a button.单击按钮后,我试图显示一个 div。 this click calls a function from my component.ts.这次点击从我的 component.ts 调用一个函数。
I want to display the results on this , but I want that this remains hidden, before I call this function, I dont really get the solution,thats could be maybe easier with Jquery..but I dont use it with Angular yet.我想在这个上显示结果,但我希望它保持隐藏,在我调用这个函数之前,我并没有真正得到解决方案,这可能用 Jquery 更容易......但我还没有将它与 Angular 一起使用。
I´d thank any help..thanks a lot :))我会感谢任何帮助..非常感谢:))
the code, first the view代码,首先是视图
<div id="titulo-filme"> <h2>{{ titulo }}</h2> </div> <div id="film-jahren"> <ul> <li *ngFor="let dato of datos;let indice = index"> {{ dato.year }} <button #btnInfo type="button" [disabled]="click[indice]" (click)="**verInfoPorIndice(indice)**; click[indice] = true "><img src="../assets/images/claqueta.png"></button> </li> </ul> </div> <div id="filmContent" #filmContent [ngStyle]="{'display':infoFilm ? 'block' : 'none'}"> <ul *ngFor="let film of infoFilm; let indice = index"> <li [ngStyle]="{'color':film.year == 1920 ? 'red' : 'white' }">{{ film.year }}</li> <li>Titel: {{ film.name }}</li> <li>Genre: {{ film.gender }}</li> <li> Hauptrolle: {{ film.mainrole }}</li> <li>Regisseur: {{ film.director }}</li> <li [ngStyle]="{'align-content':film.year > 1895 ? 'center' : 'center'}"><p><img src="../assets/images/{{ film.bild }}"></p></li> </ul> <br> </div>
and the function in filme.component.ts以及 filme.component.ts 中的函数
verInfoPorIndice(indice){ if(this.films.indexOf(indice)){ this.infoFilm.push(this.films[indice]); return this.infoFilm; } }
Just use *ngIf
and check whether the length of array contains elements *ngIf="infoFilm && infoFilm.length > 0"
:只需使用*ngIf
并检查数组的长度是否包含元素*ngIf="infoFilm && infoFilm.length > 0"
:
<div id="titulo-filme">
<h2>{{ titulo }}</h2>
</div>
<div id="film-jahren">
<ul>
<li *ngFor="let dato of datos;let indice = index">
{{ dato.year }}
<button #btnInfo type="button" [disabled]="click[indice]"
(click)="verInfoPorIndice(indice); click[indice] = true ">
<img src="../assets/images/claqueta.png"></button>
</li>
</ul>
</div>
<div id="filmContent" #filmContent *ngIf="infoFilm && infoFilm.length > 0">
<ul *ngFor="let film of infoFilm; let indice = index">
<li [ngStyle]="{'color':film.year == 1920 ? 'red' : 'white' }">{{ film.year }}</li>
<li>Titel: {{ film.name }}</li>
<li>Genre: {{ film.gender }}</li>
<li> Hauptrolle: {{ film.mainrole }}</li>
<li>Regisseur: {{ film.director }}</li>
<li [ngStyle]="{'align-content':film.year > 1895 ? 'center' : 'center'}"><p>
<img src="../assets/images/{{ film.bild }}"></p></li>
</ul>
<br>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.