如何在ngFor中绑定角度2中的img src?

par*_*ath 42 ngfor angular

在我的项目中我得到数据:图像src,学生姓名学生ID.我绑定学生姓名学生ID.

如何在角度2中绑定图像src

ppo*_*ski 99

Angular 2,4和Angular 5兼容!

您提供的细节很少,所以我会在没有它们的情况下尝试回答您的问题.

您可以使用插值:

<img src={{imagePath}} />
Run Code Online (Sandbox Code Playgroud)

或者您可以使用模板表达式:

<img [src]="imagePath" />
Run Code Online (Sandbox Code Playgroud)

在ngFor循环中,它可能如下所示:

<div *ngFor="let student of students">
   <img src={{student.ImagePath}} />
</div>
Run Code Online (Sandbox Code Playgroud)


Vis*_*ati 21

Angular 2.x到7兼容!

您可以直接在img src属性中提供currnet对象的source属性.请参阅下面的代码:

<div *ngFor="let brochure of brochureList">
    <img class="brochure-poster" [src]="brochure.imageUrl" />
</div>
Run Code Online (Sandbox Code Playgroud)

注意:您也可以使用字符串插值,但这不是leghit方式.为此目的创建了属性绑定,因此更好地使用它.

不建议 :

<img class="brochure-poster" src="{{brochure.imageUrl}}"/>
Run Code Online (Sandbox Code Playgroud)

这是我的brochureList包含从服务中收到的以下json(您可以将其分配给任何变量):

[ {
            "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"
         }]
Run Code Online (Sandbox Code Playgroud)

  • @TobiasMarschall因为它破坏了属性绑定的目的.使用它来设置属性更有意义.{{}}是一个普通的字符串插值表达式,它不会向阅读代码的任何人透露它具有特殊含义.使用[]可以轻松发现动态设置的属性. (2认同)

Vij*_*han 5

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>
Run Code Online (Sandbox Code Playgroud)