2013-04-04 169 views
1

我有對象與對象數組中它的數組:AngularJS篩選嵌套對象

var content = [ 
    { 
    name: 'Foo', 
    sub: [{ name: 'Bar' }, { name: 'Foobar' }] 
    }, 
    ... 
] 

和模板:

<input ng-model="search" /> 

<div ng-repeat="item in content | filter:search> 
    {{item.name}} 
    <div ng-repeat="key in item"> 
     {{key.name}} 
    </div> 
</div> 

現在,我使用filter過濾器來搜索串匹配,但它僅適用於第一個ng-repeat指令。我怎麼能包括第二個指令到搜索過濾器?提前致謝。

+0

您是否考慮過創建您自己的過濾器?你可以參考文檔[這裏](http://docs.angularjs.org/guide/dev_guide.templates.filters.creating_filters) – callmekatootie 2013-04-04 17:09:24

+0

謝謝,雖然 – Ozrix 2013-04-05 12:44:47

回答

0

好吧,我「扁平」的對象的簡單集合傳遞之前,通過控制器到模板,所以我不必擔心第二個週期。輸出是

[{ name : 'foo' }, { name : 'bar' }, { name : 'foobar' }] 
0

可以將第二過濾器表達式簡單地套用到這裏的其他ng-repeat

<div ng-repeat="key in item | filter:secondFilterExpression">

見文檔http://docs.angularjs.org/api/ng.filter:filter

+0

這會使一個單獨的過濾器,這將是更耗時,所以這兩條指令是彼此不知情的 – Ozrix 2013-04-05 10:11:36