Ricerca…


introduzione

La direttiva ngFor viene utilizzata da Angular2 per creare un'istanza di un modello una volta per ogni elemento in un oggetto iterabile. Questa direttiva lega l'iterabile al DOM, quindi se il contenuto dell'iter iterabile cambia, anche il contenuto del DOM verrà modificato.

Esempio di elenco non ordinato

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

Esempio di modello più complesso

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

Tracciamento dell'esempio di interazione corrente

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

In questo caso, prenderò il valore dell'indice, che è l'iterazione del loop corrente.

Valori esportati con alias Angular2

Angular2 fornisce diversi valori esportati che possono essere alterati in variabili locali. Questi sono:

  • indice
  • primo
  • scorso
  • anche
  • dispari

Eccetto index , gli altri prendono un valore Boolean . Come l'esempio precedente che utilizza l'indice, può essere utilizzato uno qualsiasi di questi valori esportati:

<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>

* ngPer tubi

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow