0
votes

Comment construire une seule chaîne de la matrice JSON à l'aide de Ngfor en angulaire

J'ai les données suivantes: xxx

J'essaie d'afficher sur le Web comme AAA, BBB, ... avec le code suivant: xxx

mais le résultat de sortie est chevauché. Comment puis-je atteindre mon résultat attendu?

édité Après avoir vérifié le CSS, il s'agissait d'un problème de CSS: xxx

J'ai essayé d'utiliser texte-align: gauche (qui ne fonctionne pas dans Grille de matériau angulaire) ou largeur: 100% (qui entraîne un large espace entre les éléments).

Toute suggestion sur la façon de modifier le CSS?


3 commentaires

Pour quel but vous utilisez ngif ?


ngif est destiné à ajouter la virgule avant le nom s'il n'est pas le premier élément


Je suppose que vous n'avez pas besoin de vérifier cela puisqu'il sera exécuté à partir du premier objet lui-même, vous devez ajouter , après {{valeur.name}},


3 Réponses :


0
votes

enveloppe mat-grille-liste code> autour de mat-grid-tuile vous devez utiliser code> au lieu de code> comme div est élément bloqué. Voir ci-dessous

<mat-grid-list cols="1">
<mat-grid-tile>
  <div class="text-grid" *ngFor="let value of data; let f = first">
    <span *ngIf="f">
      {{value.name}}
    </span>
    <span *ngIf="!f">
      , {{value.name}}
    </span>
  </div>
</mat-grid-tile>
</mat-grid-list>


3 commentaires

Même après avoir utilisé , la valeur de valeur est toujours superposée.


Pouvez-vous reproduire cela sur Stackblitz, il ressemble à un problème de CSS et non à un code


Vous avez raison! Je supprimai la classe text-grille de

et ils ne se chevauchent plus. Je vais regarder à mon CSS.



0
votes

Vous devez probablement envelopper votre contenu dans mat-grid-list , comme ci-dessous - xxx

Stackblitz

Supprod Tip : Pas besoin d'ajouter deux * ngif , vous pouvez rechercher Dernier index dans le * ngfor comme ci-dessus. < / p>


0 commentaires

0
votes

Essayez peut-être de formater vos données avant de la mettre dans le modèle

composant.ts xxx


0 commentaires