0
votes

Ajouter une valeur d'attributs div

Je veux ajouter des attributs div des divisions de manière dynamique en angulaire 7.

et j'ai essayé ceci: xxx

et j'ai cette erreur:

Erreur non capturée: Template Parse Erreurs: Impossible de se lier à 'Code' car ce n'est pas un bien connu de 'div'. ("* ngfor =" let e de etats._embedded.etats "style =" arrière-plan: {{e.codecouleur}}! Important; "[Erreur ->] Code de données =" {{e.Id}} "Données -bg = {{{codecouleur}}> {{e.nom} "


5 commentaires

J'utilise angular7


Utilisez ce {{e.nom}} au lieu de {{e.nom} "


Utilisez [attr.data-code] = "E.ID" et [attr.data-bg] = "e.codecouleur" au lieu de code de données = "{{e.id}}" data-bg = "{{e.codecouleur}}"


Merci @CruelEngine, ça marche. Mais comment puis-je résoudre le style = "..."?


[style.background] = "E.codecouleur"


3 Réponses :


3
votes

Lorsque vous êtes en boucle de manière dynamique, vous devez utiliser quelque chose comme ceci:

<div *ngFor="let e of etats._embedded.etats" 
     [style.background]="e.codeCouleur"
     [data-code]="e.id" 
     [data-bg]=e.codeCouleur
>{{e.nom}}"</div>


0 commentaires

3
votes

Vous avez peu d'options:


  1. 0 commentaires

2
votes

La chose que vous essayez d'obtenir est appelée liaison d'attributs . Comme le document officiel dit:

Vous devez utiliser la liaison d'attribut lorsqu'il n'y a pas de propriété élément à BIND. P> blockquote>

Donc, selon cela, vous devez modifier un peu le code. Pour style code>, vous pouvez utiliser ngstyle code> ou [style.background] code>, mais ! Important code> ne fonctionnera pas IT: P>

<div *ngFor="let e of etats._embedded.etats" 
  [ngStyle]="{'background': e.codeCouleur}"  
  [attr.data-code]="e.id" [attr.data-bg]="e.codeCouleur">{{e.nom}}</div>


0 commentaires