【问题标题】:Remove ng-repeat duplicates删除 ng-repeat 重复项
【发布时间】:2018-10-04 18:49:07
【问题描述】:

我已经读过这方面的内容,但不明白如何做这种事情。

<div class='dropdown2'>
     <span>Seleziona Campionato:      </span>
     <select class='opzioni' ng-model="campionatoSelected">
              <option ng-repeat="team in teams  | filter: {Paese:nazioniSelected} track by $index" value="{{team.Campionato}}">{{team.Campionato}}
             </option>
     </select>
</div>

这是给我重复的代码,因为在每个联赛 (campionato) 中都有很多球队。我怎样才能从这个选择中删除重复项?

【问题讨论】:

    标签: html angularjs angularjs-ng-repeat angular-filters


    【解决方案1】:

    您可以使用模块angular-filter (https://github.com/a8m/angular-filter) 提供的unique 过滤器,并使用您要用于过滤的属性切断所有重复项:

    <select class='opzioni' ng-model="campionatoSelected">
      <option ng-repeat="team in teams | filter: {Paese:nazioniSelected} | unique: 'MY_PROPERTY_NAME' track by $index" value="{{team.Campionato}}">{{team.Campionato}}
      </option>
    </select>
    

    您还可以定义您的私有过滤器,并使用它来执行您想要的两种操作,而无需添加第三方模块。

    PS:我和你一样是意大利人,所以我明白你的意思,但尝试使用英文变量/函数名称,它会使代码更具可读性,特别是如果你想将它发布到某个地方或分享它一般。

    【讨论】:

    • 好的,我会改进这部分代码。但这种独特的对我不起作用。团队数组有一个名为 Campionato 的字段。所以当我这样做时:
    • 对不起,unique 过滤器默认不可用,您应该添加以下模块和很多有用的过滤器,或者正如我在答案中更改的那样,定义您自己的而不添加第三个参与方依赖:github.com/a8m/angular-filter
    猜你喜欢
    • 2018-08-21
    • 1970-01-01
    • 2014-01-18
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    相关资源
    最近更新 更多