2016-09-16 4 views
0

A〜Zの範囲の項目名を持つ配列があります。 私がしたいのは、アルファベットの文字ごとにng-repeatです。アレイ内の文字についてはng-repeatを使用して項目値の開始文字に従って表示する方法

:Array内のBの文字については

<div ng-repeat="item in items | orderBy: 'item_name'"> 
    {{item.item_name}} 
</div> 

<div ng-repeat="item in items | orderBy: 'item_name'"> 
    {{item.item_name}} 
</div> 

どのように私はこれを達成することができますか?

+0

あなたはからZまでの単一の行の各文字を印刷したいですか? –

答えて

3

あなたがここに

$scope.criteriaMatch = function(x) { 
    return function(item) { 
     return item.name.startsWith(x); 
    }; 
}; 

以下のようなcustom filter

<div ng-repeat="item in items | filter:criteriaMatch('z')"> 
    {{item.name}} 
</div> 

<div ng-repeat="item in items | filter:criteriaMatch('A')"> 
    {{item.name}} 
</div> 

filter機能でこれを達成することができますですWorking fiddle

は、それはあなたの役に立てば幸い:)

1

あなたはangular.filter moduleを使用してgroupByフィルタを使用することができます。

<div ng-repeat="item in items | groupBy: 'item_name.substr(0,1)'"> 
    {{item.item_name}} 
</div> 
+0

私はそれを試しましたが、何も表示されませんでした。 –

+0

外部依存関係編集の回答 – nikjohn

+0

があります。私はインストールを行い、いくつかの機能を示しています。 item_namesが表示されないという事実を除いて。 –

関連する問題