根据多个属性值过滤数据

时间:2016-08-09 14:38:05

标签: angularjs

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

  • 第一个显示所有消息。
  • 第二个显示类型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>

有没有办法在HTML 中执行 100%,而不为此案例编写自定义过滤器?

1 个答案:

答案 0 :(得分:2)

如果您只有['A', 'B', 'C']个值,则可以'!C'仅显示'A''B'。否则,您必须编写自定义过滤器方法。