Recherche…


Introduction

La directive ngFor est utilisée par Angular2 pour instancier un modèle une fois pour chaque élément d'un objet pouvant être itéré. Cette directive lie l'itérable au DOM, donc si le contenu de l'itérable change, le contenu du DOM sera également modifié.

Exemple de liste non ordonnée

<ul>
  <li *ngFor="let item of items">{{item.name}}</li>
</ul>

Exemple de modèle plus complexe

<div *ngFor="let item of items">
  <p>{{item.name}}</p>
  <p>{{item.price}}</p>
  <p>{{item.description}}</p>
</div>

Suivi de l'exemple d'interaction en cours

<div *ngFor="let item of items; let i = index">
  <p>Item number: {{i}}</p>    
</div>

Dans ce cas, je prendrai la valeur de l'index, qui correspond à l'itération de la boucle en cours.

Angular2 aliasé valeurs exportées

Angular2 fournit plusieurs valeurs exportées pouvant être associées à des variables locales. Ceux-ci sont:

  • indice
  • premier
  • dernier
  • même
  • impair

Sauf index , les autres prennent une valeur Boolean . Comme dans l'exemple précédent utilisant index, vous pouvez utiliser n'importe laquelle de ces valeurs exportées:

<div *ngFor="let item of items; let firstItem = first; let lastItem = last">
  <p *ngIf="firstItem">I am the first item and I am gonna be showed</p>
  <p *ngIf="firstItem">I am not the first item and I will not show up :(</p>
  <p *ngIf="lastItem">But I'm gonna be showed as I am the last item :)</p>
</div>

* ngPour la pipe

import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
  name: 'even'
})

export class EvenPipe implements PipeTransform {
    transform(value: string): string {
        if(value && value %2 === 0){
          return value;
        }
    }
}

@Component({
      selector: 'example-component',
      template: '<div>
                      <div *ngFor="let number of numbers | even">
                          {{number}}
                      </div>
                </div>'
})

export class exampleComponent {
    let numbers : List<number> = Array.apply(null, {length: 10}).map(Number.call, Number)
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow