MegaTron
MegaTron

Reputation: 3393

Angular - NgStyle fall back image

What I'm Using

What I'm trying to do

Issue

<div class="image" [ngStyle]="{'background-image': 'url(' + (image.myImage | async)  + ')'}"></div>

Upvotes: 0

Views: 624

Answers (2)

Asif Karim Bherani
Asif Karim Bherani

Reputation: 1083

<div *ngIf="img" 
   class="image" [ngStyle]="{'background-image': 'url(' + img + ')'}">
 </div>
<div *ngIf="!img" 
   class="image" [ngStyle]="{'background-image':'url(http://via.placeholder.com/350x150)'}">
</div>

Upvotes: 1

El houcine bougarfaoui
El houcine bougarfaoui

Reputation: 37383

You syntax is correct but to achieve your desired behavior you do this:

<div *ngIf="image.myImage | async; let img; else loading" 
       class="image" [ngStyle]="{'background-image': 'url(' + img + ')'}">
</div>    

<ng-template #loading>
    <div class="image" [ngStyle]="{'background-image': 'url(/assets/placeholder.png)'}"></div>
</ng-template>

Demo

Upvotes: 2

Related Questions