how to bind img src in angular 2 in ngFor? how to bind img src in angular 2 in ngFor? angular angular

how to bind img src in angular 2 in ngFor?


Angular 2, 4 and Angular 5 compatible!

You have provided so few details, so I'll try to answer your question without them.

You can use Interpolation:

<img src={{imagePath}} />

Or you can use a template expression:

<img [src]="imagePath" />

In a ngFor loop it might look like this:

<div *ngFor="let student of students">   <img src={{student.ImagePath}} /></div>


Angular 2.x to 8 Compatible!

You can directly give the source property of the current object in the img src attribute. Please see my code below:

<div *ngFor="let brochure of brochureList">    <img class="brochure-poster" [src]="brochure.imageUrl" /></div>

NOTE: You can as well use string interpolation but that is not a legit way to do it. Property binding was created for this very purpose hence better use this.

NOT RECOMMENDED :

<img class="brochure-poster" src="{{brochure.imageUrl}}"/>

Its because that defeats the purpose of property binding. It is more meaningful to use that for setting the properties. {{}} is a normal string interpolation expression, that does not reveal to anyone reading the code that it makes special meaning. Using [] makes it easily to spot the properties that are set dynamically.

Here is my brochureList contains the following json received from service(you can assign it to any variable):

[ {            "productId":1,            "productName":"Beauty Products",            "productCode": "XXXXXX",                        "description":  "Skin Care",                       "imageUrl":"app/Images/c1.jpg"         },        {             "productId":2,            "productName":"Samsung Galaxy J5",            "productCode": "MOB-124",                  "description":  "8GB, Gold",            "imageUrl":"app/Images/c8.jpg"         }]


Angular 2 and Angular 4 In a ngFor loop it must be look like this:<div class="column" *ngFor="let u of events ">                <div class="thumb">                    <img src="assets/uploads/{{u.image}}">                    <h4>{{u.name}}</h4>                </div>                <div class="info">                    <img src="assets/uploads/{{u.image}}">                    <h4>{{u.name}}</h4>                    <p>{{u.text}}</p>                </div>            </div>