首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >纳克重复的角滤波器

纳克重复的角滤波器
EN

Stack Overflow用户
提问于 2014-11-08 06:31:49
回答 1查看 101关注 0票数 0

我的json对象有一个名为调性的字段,值为0或1。

代码语言:javascript
复制
[{
    "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。

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-08 07:01:54

正确的语法是filter:{propertyName:'value'},所以ng-repeat="speaker in speakers | filter:{keynote:0}"将适用于您。

我建议实现这样的东西来使您的代码更加枯燥:

代码语言:javascript
复制
<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的示例:

代码语言:javascript
复制
  $scope.range = _.sortBy(_.uniq($scope.speakers, 'keynote').map(function(item) {
    return item.keynote;
  }), function(a, b) {
    return a < b;
  });

Live demo

对于您的评论,有一种方法可以使您的特定代码变得干燥:

代码语言:javascript
复制
<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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26814501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档