2017-03-24 6 views
0

特定の基準に基づいて行を動的に生成するテーブルがあります。ただし、行を最大で5行に制限する必要があります。 5つ以上の行がある場合は、テーブルの下部に「その他の記事」というリンクが表示されます。 5行以下の場合は、[その他の記事]リンクが表示されないようにします。私はここでng-ifを使用しなければならないと確信していますが、構築方法は不明です。助言がありますか?AngularJSがng-ifに固執した場合

<table class="table table-sm table-responsive"> 
    <thead> 
    <tr> 
     <th class="wrap-header"><big class="big-text">My Benefits Articles</big></th> 
    </tr> 
    </thead> 
    <tbody ng-repeat="item in data.list track by $index | limitTo: 5"> 
    <tr> 
     <td><a ng-href="{{item.url}}" target="_blank"> <img class = "icon" src="{{item.icon}}" height="30" width="30"> {{ item.short_desc }}</a></td> 
    </tr> 
    </tbody> 
</table> 

<div ng-if="/* What goes here? */"> 
    <a ng-href="/fedhc/?id=kb_category&kb_category={{item.parent}}" target="_blank">More Articles <i class="fa fa-caret-right"></i></a> 
</div> 

答えて

1
<div ng-if="data.list.length > 5"> 
    <a ng-href="/fedhc/?id=kb_category&kb_category={{item.parent}}" target="_blank">More Articles <i class="fa fa-caret-right"></i></a> 
</div> 
+0

すごく簡単です。間違いなくそれを考える。ありがとう! – Dave

+0

これは、ボタンを1回クリックするだけです。それじゃない? 10件以上の投稿がある場合はどうなりますか? –

+3

ここでは、要件が5に制限されています –

0

また、特定の基準を満たすものを示しNG-ショーを使用することができます。 コンテンツの表示にng-ifを使用するよりも良い方法です。ここで

<div ng-show="data.list.length > 5"> 
     <a ng-href="/fedhc/?id=kb_category&kb_category={{item.parent}}" target="_blank">More Articles <i class="fa fa-caret-right"></i></a> 
    </div> 

は、両方のドキュメントです:

https://docs.angularjs.org/api/ng/directive/ngShow

https://docs.angularjs.org/api/ng/directive/ngIf

この情報がお役に立てば幸い!

0

まず、変数を使用して表示される投稿の数を判断します。これは、limitTo: 5limitTo: shownPostsに変更することで実現できます(これを宣言し、スコープ内で5に設定することを忘れないでください)。
次に、表示されている以上に投稿があるかどうかを確認します。
サイドノート:ボタンをクリックするたびにshownPosts変数を5ずつ増やしたいとします。

関連する問題