Suche…


Syntax

  1. <div * ngFor = "Artikel lassen; lassen Sie i = index"> {{i}} {{item}} </ div>

Bemerkungen

Die *ngFor Strukturanweisung wird als Schleife in einer Auflistung ausgeführt und wiederholt ein Stück HTML für jedes Element einer Auflistung.

@View Dekorator ist jetzt veraltet. Entwickler sollten template oder 'templateUrl'-Eigenschaften für den @Component Dekorator verwenden.

Winkel für 2-Schleife

Für Live- Programme klicken Sie auf ...

<!doctype html>
<html>
<head>
    <title>ng for loop in angular 2 with ES5.</title>
    <script type="text/javascript" src="https://code.angularjs.org/2.0.0-alpha.28/angular2.sfx.dev.js"></script>
    <script>
        var ngForLoop = function () {
            this.msg = "ng for loop in angular 2 with ES5.";
            this.users = ["Anil Singh", "Sunil Singh", "Sushil Singh", "Aradhya", 'Reena'];
        };

        ngForLoop.annotations = [
                new angular.Component({
                    selector: 'ngforloop'
                }),
                new angular.View({
                    template: '<H1>{{msg}}</H1>' +
                            '<p> User List : </p>' +
                            '<ul>' +
                            '<li *ng-for="let user of users">' +
                            '{{user}}' +
                            '</li>' +
                            '</ul>',
                    directives: [angular.NgFor]
                })
        ];

        document.addEventListener("DOMContentLoaded", function () {
            angular.bootstrap(ngForLoop);
        });
    </script>
</head>
<body>
    <ngforloop></ngforloop>
    <h2>
      <a href="http://www.code-sample.com/" target="_blank">For more detail...</a>
    </h2>
</body>
</html>

NgFor - Markup für Schleife

Die NgFor- Direktive instanziiert eine Vorlage einmal pro Element aus einer Iteration. Der Kontext für jede instanziierte Vorlage erbt vom äußeren Kontext, wobei die angegebene Schleifenvariable vom aktuellen Element auf das aktuelle Element gesetzt wird.

Um den Standard-Tracking-Algorithmus anzupassen, unterstützt NgFor die Option trackBy . trackBy nimmt eine Funktion mit zwei Argumenten: index und item. Wenn trackBy angegeben ist, ändert sich der Winkel um den Rückgabewert der Funktion.

<li *ngFor="let item of items; let i = index; trackBy: trackByFn">
    {{i}} - {{item.name}}
</li>

Zusätzliche Optionen : NgFor stellt mehrere exportierte Werte zur Verfügung, die für lokale Variablen als Alias ​​verwendet werden können:

  • Der Index wird für jeden Schablonenkontext auf die aktuelle Schleifeniteration gesetzt.
  • first wird auf einen booleschen Wert gesetzt, der angibt, ob das Element der erste in der Iteration ist.
  • last wird auf einen booleschen Wert gesetzt, der angibt, ob das Element das letzte Element in der Iteration ist.
  • even wird auf einen booleschen Wert gesetzt, der angibt, ob dieses Element einen geraden Index hat.
  • odd wird auf einen booleschen Wert gesetzt, der angibt, ob dieses Element einen ungeraden Index hat.

* ngFür in den Tabellenzeilen

<table>
    <thead>
        <th>Name</th>
        <th>Index</th>
    </thead>
    <tbody>
        <tr *ngFor="let hero of heroes">
            <td>{{hero.name}}</td>
        </tr>
    </tbody>
</table>

* ngFür mit Komponente

   @Component({
     selector: 'main-component',
     template: '<example-component    
                   *ngFor="let hero of heroes"
                   [hero]="hero"></example-component>'
   })


   @Component({
      selector: 'example-component',
      template: '<div>{{hero?.name}}</div>'
   })

   export class ExampleComponent {
     @Input() hero : Hero = null;
   }

* ngFür X Anzahl der Elemente pro Zeile

Beispiel zeigt 5 Elemente pro Zeile:

<div *ngFor="let item of items; let i = index">
  <div *ngIf="i % 5 == 0" class="row">
    {{ item }}
    <div *ngIf="i + 1 < items.length">{{ items[i + 1] }}</div>
    <div *ngIf="i + 2 < items.length">{{ items[i + 2] }}</div>
    <div *ngIf="i + 3 < items.length">{{ items[i + 3] }}</div>
    <div *ngIf="i + 4 < items.length">{{ items[i + 4] }}</div>
  </div>
</div>


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow