2014-11-08 62 views
0

我的JSON對象角度濾波器是具有值0或1爲NG-重複

[{ 
    "id": 111, 
    "title": "Senior Vice President and Chief Analytics Officer", 
    "name": "jon doe", 
    "company": "Entertainment Corporation", 
    "keynote": 1 
}, 
{ 
    "id": 102, 
    "title": "CEO and Mobile Market Strategist", 
    "name": "john", 
    "company": "Research", 
    "keynote": 1 
}, 
{ 
    "id": 102, 
    "title": "CEO and Mobile Market Strategist", 
    "name": "john", 
    "company": "Research", 
    "keynote": 0 
}, 
{ 
    "id": 102, 
    "title": "CEO and Mobile Market Strategist", 
    "name": "john", 
    "company": "Research", 
    "keynote": 0 
}] 

我想在我的應用程序顯示兩個類型的列表的被叫基調字段。一個清單,主講嘉賓和其他列表與主題= 0

<li class="table-view-cell" data-ng-repeat="speaker in speakers | filter:speaker.keynote=1 "> 
<span class="speaker-name">{{speaker.name}}</span> 
</li> 

<li class="table-view-cell" data-ng-repeat="speaker in speakers | filter:speaker.keynote=0 "> 
<span class="speaker-name">{{speaker.name}}</span> 
</li> 

回答

0

正確的語法爲filter:{propertyName:'value'},所以ng-repeat="speaker in speakers | filter:{keynote:0}"會爲你工作。

我建議實施這樣的事情,使你的代碼更DRY:

<ul> 
    <li ng-repeat="i in range"> // or i in [0,1] 
    <h3>Keynote: {{i}}</h3> 
    <ul> 
     <li ng-repeat="speaker in speakers | filter:{keynote:i}"> 
     <span>{{speaker.name}}</span> 
     </li> 
    </ul> 
    </li> 
</ul> 

的使用Lodash自動生成range的例子:

$scope.range = _.sortBy(_.uniq($scope.speakers, 'keynote').map(function(item) { 
    return item.keynote; 
    }), function(a, b) { 
    return a < b; 
    }); 

Live demo

在回答您的意見,這裏有一種方法可以讓你的特定代碼DRY:

<ul> 
    <li ng-repeat="(title, isKeynote) in {Keynote:1, Sessions:0}"> 
    <h3>{{title}}</h3> 
    <ul> 
     <li ng-repeat="speaker in speakers | filter:{keynote:isKeynote}"> 
     <span>{{speaker.name}}</span> 
     </li> 
    </ul> 
    </li> 
</ul> 

Live demo

+0

其實並不想結合,兩者具有不同的頭內容 – user2727195 2014-11-08 07:15:42

+0

@ user2727195這很好單獨列出,但並沒有我回答你的問題?我只是增加了更多的細節... – m59 2014-11-08 07:21:49

+0

不,因爲在你說的Keynote的h3中,我爲每個列表都有不同的標題,這是重複的,但它是這樣的,除非你能證明我是否可以有不同的標題每次迭代,我現在只有兩個,1->關鍵音符揚聲器,0->會話揚聲器 – user2727195 2014-11-08 07:24:49