サーチ…


前書き

ngForディレクティブはngForによって使用され、iterableオブジェクト内のすべてのアイテムに対して一度テンプレートをインスタンス化します。このディレクティブは、iterableをDOMにバインドします。したがって、iterableの内容が変更されると、DOMの内容も変更されます。

順序付けられていないリストの例

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

より複雑なテンプレートの例

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

現在のインタラクションの例をトラッキングする

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

この場合、私は現在のループ反復であるindexの値を取るでしょう。

Angular2エイリアスエクスポートされた値

Angular2には、ローカル変数に別名を付けることができるエクスポートされた値がいくつか用意されています。これらは:

  • 索引
  • 最初
  • 最終
  • 偶数
  • 奇妙な

index除いて、他のものはBoolean値を取る。インデックスを使用する前の例のように、これらのエクスポートされた値のいずれかを使用できます。

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

* ngForパイプ付き

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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow