2016-08-16 12 views
1
に表示する

は多くのプロジェクトの配列を得て、最後の3つのプロジェクトを表示したい。角2 - ngの最後の3つの項目を配列

は、それが(20以上)今、すべてのプロジェクトを表示するsは、私のhtmlで

  <li *ngFor="let project of projects;"> 
      <h2>{{ project.name }}</h2> 
      <p>{{ project.meta_desciption }}</p> 
      </li> 

を得ました。 最後の3文字のみを表示するにはどうしたらいいですか? は、私は私が私のコードで「最後」somewereを使用する必要があると思いますが、あなたがprojectsのためにいくつかの追加nullチェックを必要とするか、それは常に配列であることを確認するかもしれません https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html

答えて

10
<li *ngFor="let project of (projects | slice:projects.length - 4);"> 

それを把握することはできません。

3

上記ギュンターによって答えとして、あなたはまた、「プロジェクト」の長さをチェックする必要があるかもしれませんが、4

<div *ngIf="projects.length>4"> 
    <li *ngFor="let project of projects;"> 
     <h2>{{ project.name }}</h2> 
     <p>{{ project.meta_desciption }}</p> 
    </li> 
</div> 
+0

素晴らしいアイデア(申し訳ありませんが、私は今日の投票にはなりません)。 –

3

以上である上記ギュンターの答えは、私の場合には動作しませんでした。私は同じことを達成することができますが、わずかに異なっていました:

<ng-container *ngFor="let project of projects; let i = index"> 
    <li *ngIf="i > projects.length - 4"> 
     <h2>{{ project.name }}</h2> 
     <p>{{ project.meta_desciption }}</p> 
    </li> 
</ng-container> 

長さがあれば、それは、すべて印刷します3、次に小さいのであれば、ループのインデックスが配列のマイナス4の長さより大きい場合には3以上であれば、最後の3が何番目に入っても印刷されます。

関連する問題