Szukaj…


Składnia

  1. <div * ngFor = "let item of items; let i = index"> {{i}} {{item}} </ div>

Uwagi

*ngFor strukturalna *ngFor działa jako pętla w kolekcji i powtarza fragment HTML dla każdego elementu kolekcji.

Dekorator @View jest teraz przestarzały. Programiści powinni używać właściwości template lub „templateUrl” dla dekoratora @Component .

Pętla kątowa 2

Na żywo plnkr kliknij ...

<!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 For Loop

Dyrektywa NgFor tworzy szablon raz na element z iterowalnego. Kontekst dla każdego utworzonego szablonu dziedziczy z kontekstu zewnętrznego z daną zmienną pętli ustawioną na bieżący element z iterowalnego.

Aby dostosować domyślny algorytm śledzenia, NgFor obsługuje opcję trackBy . trackBy przyjmuje funkcję, która ma dwa argumenty: indeks i element. Jeśli podano trackBy , ścieżki kątowe zmieniają się o wartość zwracaną przez funkcję.

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

Dodatkowe opcje : NgFor udostępnia kilka eksportowanych wartości, które można aliować do zmiennych lokalnych:

  • indeks zostanie ustawiony na bieżącą iterację pętli dla każdego kontekstu szablonu.
  • first zostanie ustawiony na wartość logiczną wskazującą, czy element jest pierwszym w iteracji.
  • last zostanie ustawiony na wartość logiczną wskazującą, czy element jest ostatnim w iteracji.
  • nawet zostanie ustawiony na wartość logiczną wskazującą, czy ten element ma indeks parzysty.
  • nieparzysty zostanie ustawiony na wartość logiczną wskazującą, czy ten element ma indeks nieparzysty.

* ng Dla wierszy tabeli

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

* ngFor z komponentem

   @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;
   }

* ngDla X elementów w rzędzie

Przykład pokazuje 5 elementów w rzędzie:

<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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow