Sök…


Syntax

  1. <div * ngFor = "låt objekt; låt i = index"> {{i}} {{item}} </ div>

Anmärkningar

*ngFor strukturdirektivet körs som en slinga i en samling och upprepar en bit html för varje element i en samling.

@View dekoratör är nu avskrivet. Utvecklare bör använda template eller 'templateUrl'-egenskaper för @Component dekoratör.

Vinkelformig 2 för-loop

För live plnkr klicka ...

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

NgFor- direktivet instanserar en mall en gång per artikel från en iterable. Kontexten för varje instanserad mall ärver från den yttre kontexten med den givna slingvariabeln inställd på det aktuella objektet från iterable.

För att anpassa standardspårningsalgoritmen stöder NgFor alternativet trackBy . trackBy tar en funktion som har två argument: index och objekt. Om trackBy ges, ändras vinkelspår med funktionens returräge .

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

Ytterligare alternativ : NgFor tillhandahåller flera exporterade värden som kan justeras till lokala variabler:

  • index kommer att ställas in på den aktuella loop-iterationen för varje mallkontext.
  • först kommer att ställas in på ett booleskt värde som indikerar om objektet är det första i iterationen.
  • sist kommer att ställas in på ett booleskt värde som indikerar om objektet är det sista i iterationen.
  • even kommer att ställas in på ett booleskt värde som indikerar om det här objektet har ett jämnt index.
  • udda kommer att ställas in på ett booleskt värde som indikerar om det här objektet har ett udda index.

* ngFör i tabellraderna

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

   @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 antal artiklar per rad

Exempel visar 5 objekt per rad:

<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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow