2016-09-29 6 views
0

は、私はこのようなJSONファイルがあります:私が欲しいものデータを表示し、一度

[ 
    { 
    "id": "1", 
    "name": "John", 
    "country": "Philippines" 
    }, 

    { 
    "id": "2", 
    "name": "Marsha", 
    "country": "Philippines" 
    }, 
    { 
    "id": "3", 
    "name": "Peter", 
    "country": "Philippines" 
    }, 
    { 
    "id": "4", 
    "name": "Kang", 
    "country": "Philippines" 
    } 
] 

をngのリピートを使用して、それを表示することですが、すべての国が同じであるため、私が表示したいです国は一度だけ。どうすればそれをすることができますか?私のhtmlファイルは次のようなものです:

<div ng-repeat="item in citizens"> 
    <label class="col-md-4 control-label" ng-model="item.id"> 
     {{item.id}} 
    </label> 
    <label class="col-md-4 control-label" ng-model="item.name"> 
     {{item.name}} 
    </label> 
    <label class="col-md-4 control-label" ng-model="item.country"> 
     {{item.country}} 
    </label> 
</div> 

ありがとうございました。

+0

各国を一度表示する場合は、国名「フィリピン」には「id」と「名前」が必要ですか? – Jens

+0

私は国が同じなので一度だけ表示したいです – bleykFaust

+0

あなたはgroupByを使うことができます:国、私は考えます – Jens

答えて

0

には、次のようラベルを変更してみてください:前の項目の国は現在のアイテムの国と同じではない場合

<label class="col-md-4 control-label" ng-model="item.country" ng-show="$index>0 && item.country!=citizens[$index-1].country"> 
    {{item.country}} 
</label> 

NG-ショーは、ラベルのみを表示し、チェックします。 注:$index>0は、このチェックのために最初の項目がスキップされることを確認します。

0

国名を表示するラベルにng-if条件を追加します。

<label class="col-md-4 control-label" ng-bind = "item.country" 
    ng-model="item.country" ng-if="$index>0 && item.country!=citizens[$index-1].country"> 
    </label> 

は、ここであなたは、角NGリピートでフィルタして、グループを使用する必要が要件を達成するためにplunker example

+0

このプランナーに感謝しますが、「フィリピン」は表示されませんでした。国 – bleykFaust

+0

@bleykFastは国を表示しています – GANI

+0

それはまだ同じです。 「フィリピン」という国をヘッダーとして一度表示していない – bleykFaust

0

です。

私は、あなたが同様にあなたのスクリプトで角度フィルタファイルを含める必要が

<div ng-repeat="(key, value) in citizens | groupBy: 'country'"> 
    Group name: {{ key }} 
    <div ng-repeat="item in value"> 
     <div>Name: {{ item.name }}</div> 
    </div> 
</div> 

とともに切り取らコードを添付しています。

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.11/angular-filter.min.js"></script> 

また、私は、これはあなたが探しているものだと思います。この

angular.module('myApp', ['angular.filter']); 

のようなあなたのお尻の角度フィルタ依存性を注入します。詳細については、thisをご覧ください。

関連する問題