【问题标题】:Filter data according to several attribute values根据几个属性值过滤数据
【发布时间】:2016-12-15 16:19:17
【问题描述】:

我想用一些按钮在ng-repeat 中过滤messages 数组:

  • 第一个显示所有消息。
  • 第二个显示类型 A 和 B 的消息。
  • 最后一个显示类型 C 的消息

我的问题是第二个按钮,因为它必须过滤 2 种不同的类型(A 和 B)。我尝试过滤['B', 'C'],但似乎filter 不接受值数组。


这里有一段代码可以让你更好地理解我的问题:

<a ng-click="typeMsg = undefined">All</a>
<a ng-click="typeMsg = ['A', 'B']">Type A and B</a>
<a ng-click="typeMsg = 'C'">Type C</a>

<div ng-repeat="m in messages | filter: {type: typeMsg}">
    ...    
</div>

有没有办法做到这一点100% 在 HTML 中,而无需为此案例编写自定义过滤器?

【问题讨论】:

标签: angularjs


【解决方案1】:

如果您只有['A', 'B', 'C'] 作为可能的值,您可以使用'!C' 只显示'A''B'。否则你必须编写一个自定义过滤方法。

【讨论】:

  • 在发布问题之前尝试过!'C',但好的语法是'!C'... Grrrrr。感谢您的帮助,它解决了我的问题;P
猜你喜欢
  • 2015-10-13
  • 2015-05-30
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
  • 2012-08-29
  • 2016-05-12
  • 2021-10-12
相关资源
最近更新 更多