58 votes

comment lier l'image src dans angular 2 dans ngFor ?

Dans mon projet, je reçois des données : source de l'image , nom de l'étudiant y le numéro d'étudiant . Je lie nom de l'étudiant y le numéro d'étudiant .

Comment relier source de l'image en angulaire 2 ?

0 votes

Vous devez fournir plus d'informations. Code du composant... code du modèle...

3 votes

<img [src]="ImagePath" />

131voto

ppovoski Points 1831

Compatible avec Angular 2, 4 et Angular 5 !

Vous avez fourni si peu de détails, je vais donc essayer de répondre à votre question sans eux.

Vous pouvez utiliser l'interpolation :

<img src={{imagePath}} />

Ou vous pouvez utiliser une expression modèle :

<img [src]="imagePath" />

Dans un ngFor boucle, ça pourrait ressembler à ça :

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

0 votes

Que faire si j'ai besoin de passer quelques paramètres pour récupérer l'image du serveur ?

0 votes

@Vicky Pouvez-vous expliquer votre problème ? Dans l'exemple ci-dessus, il y a une liaison avec la propriété "student" de la classe Student.

0 votes

Sur mon système (Angular 10), l'interpolation des chaînes sur les balises d'image ne fonctionne qu'avec les apostrophes : <img src="{{imagePath}}" />

34voto

Vishal Gulati Points 3279

Compatible avec Angular 2.x à 8 !

Vous pouvez directement donner la propriété source de l'objet courant dans l'attribut img src. Veuillez voir mon code ci-dessous :

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

REMARQUE : Vous pouvez aussi utiliser l'interpolation de chaînes de caractères, mais ce n'est pas un moyen légitime de le faire. La liaison de propriété a été créée dans ce but précis, il est donc préférable de l'utiliser.

NON RECOMMANDÉ :

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

C'est parce que cela va à l'encontre de l'objectif de l'obligation de propriété. Il est plus significatif d'utiliser cela pour définir les propriétés. {{}} est une expression d'interpolation de chaîne normale, qui ne révèle pas à quiconque lit le code qu'elle a une signification particulière. L'utilisation de [] permet de repérer facilement les propriétés qui sont définies de manière dynamique.

Voici mon Liste des brochures contient le json suivant reçu du service (vous pouvez l'assigner à n'importe quelle 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"
         }]

0 votes

Pouvez-vous expliquer pourquoi src="{{brochure.imageUrl}}" est "non recommandé" ?

2 votes

@TobiasMarschall C'est parce que cela va à l'encontre de l'objectif de la liaison de propriété. Il est plus significatif de l'utiliser pour définir les propriétés. {{}} est une expression normale d'interpolation de chaîne de caractères, qui ne révèle pas à quiconque lit le code qu'elle a une signification particulière. L'utilisation de [] permet de repérer facilement les propriétés qui sont définies de manière dynamique.

1 votes

La réponse est qu'il manque un lien avec le documentation officielle sur la fixation des biens ou toute autre référence similaire

8voto

Vijay Chauhan Points 449
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>

4voto

tan369 Points 63

J'espère que je comprends bien votre question, car le commentaire ci-dessus indique que vous devez fournir plus d'informations.

Pour le lier à votre vue, vous devez utiliser la liaison de propriété, qui consiste à utiliser [property]="value". J'espère que cela vous aidera.

<div *ngFor="let student of students">  
 {{student.id}}
 {{student.name}}

 <img [src]="student.image">

</div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X