我尝试按多个字段过滤对象数组。我的初始代码:
<tr ng-repeat="entry in $data | filter: { package: { cycleId: filterOptions.cycle, status: filterOptions.status }}">
不起作用。有趣的是,第一个过滤器表达式工作(正确更改filterOptions.cycle过滤器)但是当我添加filterOptions.status时出错了。它随机过滤,我找不到模式,但肯定不会通过package.cycleId和package.status过滤我的$ data数组。
但是,当我将过滤更改为此过滤器时:
<tr ng-repeat="entry in $data | filter: { package: { cycleId: filterOptions.cycle } } | filter: { package: { status: filterOptions.status } }">
一切都按预期工作。
我的第一个代码段有什么问题?我问,因为在AngularJS页面上:
http://docs.angularjs.org/api/ng/filter/filter(我使用AngularJS v1.2.14),过滤说
对象:模式对象可用于过滤特定属性 数组包含的对象。例如{name:&#34; M&#34;,phone:&#34; 1&#34;} 谓词将返回具有属性名称的项目数组 含有&#34; M&#34;和财产电话包含&#34; 1&#34;。