Suche…


Einführung

Die ngFor Direktive wird von Angular2 verwendet, um eine Vorlage einmal für jedes Element in einem iterierbaren Objekt zu instantiieren. Diese Anweisung bindet das Iterable an das DOM. Wenn sich der Inhalt der Iteration ändert, wird auch der Inhalt des DOM geändert.

Beispiel für ungeordnete Listen

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

Komplexeres Template-Beispiel

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

Beispiel für aktuelles Zusammenspiel verfolgen

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

In diesem Fall nehme ich den Wert von index, der die aktuelle Schleifeniteration darstellt.

Angular2-Alias ​​exportierte Werte

Angular2 bietet mehrere exportierte Werte, die mit lokalen Variablen als Alias ​​bezeichnet werden können. Diese sind:

  • Index
  • zuerst
  • zuletzt
  • sogar
  • ungerade

Mit Ausnahme des index die anderen einen Boolean Wert an. Wie im vorherigen Beispiel mit dem Index kann jeder dieser exportierten Werte verwendet werden:

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

* ngFür mit Rohr

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow