Combiner [NgStyle] avec Condition (si..autre)
J'ai lu la Documentation NgStyle pour Angular2 . Un peu déroutant pour moi. Toute idée sur la façon d'utiliser NgStyle avec une condition comme (si...else) pour définir l'image d'arrière-plan d'un élément?
24
demandé sur
Christopher Moore
2016-05-05 16:09:21
4 réponses
L'utilisation d'un opérateur ternaire dans la liaison ngStyle
fonctionnera comme une condition if/else.
<div [ngStyle]="{'background-image': 'url(' + value ? image : otherImage + ')'}"></div>
32
répondu
Günter Zöchbauer
2018-05-23 19:46:53
On peut aussi utiliser ce genre de condition:
<div [ngStyle]="myBooleanVar && {'color': 'red'}"></div>
Cela nécessite un peu moins de concaténation de chaîne...
31
répondu
Zohar
2017-09-07 06:42:30
Les réponses ci-dessus n'ont pas fonctionné pour moi, j'ai donc décidé d'améliorer cela.
Vous devriez travailler avec url('')
, et non avec value.
<li *ngFor="let item of items">
<div
class="img-wrapper"
[ngStyle]="{'background-image': !item.featured ? 'url(\'images/img1.png\')' : 'url(\'images/img2.png\')'}">
</div>
</li>
5
répondu
Johnatan Maciel
2018-05-09 03:47:52
Vous pouvez l'utiliser comme suit:
<div [style.background-image] = "value ? 'url('+imgLink+')' : 'url('+defaultLink+')'"></div>
0
répondu
somratexel
2018-10-04 06:59:26