2017-12-06 15 views
0

私はオブジェクトを持つ配列を持っています。各オブジェクトには、キーの実際の値が含まれ、値は常に空の配列です。不明なオブジェクトキーのAngularJSフィルター

[ { john : [] }, { foo : [] } ] ...etc 

私はリスト、この場合はちょうどジョン、FOOの表示になり

<li ng-repeat="(x,y) in tags" class="tag" style="color: white; padding:5px;"> 
    <span ng-repeat="(c,d) in y" class="label" ng-style="{'background-color': getTagColor(c)}">{{c}}</span> 
</li> 

が必要なものをレンダリングするために、次のHTMLを使用しています。

今、私はこれについてフィルタリングするつもりですか?通常のフィルタは動作しません。私は​​のようなオブジェクトキーフィルタを使ってみましたが、これはうまくいかないようです。

ありがとうございます!

+0

簡単でした値。だからあなたは 'key'を検索値と共にカスタムフィルタ関数に渡すことができ、これらの値に基づいてフィルタリングすることができます。 – Rajesh

+0

cは常に可変です...例がありますか? –

答えて

0

回答は私が右理解していれば、ここでの `` key`と `D 'の略C' y`中(C、D)は`の略

.filter('piemel', function(){ 
return function(items, value){ 
    var returnList = []; 

    if(items){ 
     for(x in items){ 
      var tag = Object.keys(items[x])[0].toLowerCase(); 

      if(value){ 
       value = value.toLowerCase(); 
       if(tag.indexOf(value) != -1){ 
        returnList.push(items[x]); 
       } 
      } 
      else{ 
       returnList.push(items[x]); 
      } 
     } 
    } 

    return returnList; 
}; 
}) 

ng-repeat="(x,y) in tags | piemel:searchText"