【发布时间】:2014-07-12 13:07:59
【问题描述】:
我正在尝试在列表上创建一个简单的 AngularJS 过滤器。但是,我要过滤的元素是数组中的子元素。
(JSFIDDLE)
对象:
elements = [{
'claim': [{value:'foo'}],
class: 'class1',
subject: 'name1'
}, {
'claim': [{value:'bar'}],
class: 'class1',
subject: 'name2'
}, {
'claim': [{value:'baz'}],
class: 'class1',
subject: 'name2'
}, {
'claim': [{value:'quux'}],
class: 'class1',
subject: 'name3'
}];
HTML:
<tr class='claimrow'
data-ng-repeat='c in elements | filter:{claim[0].value:srcBoxFilter} | orderBy: "claim[0].value" '>
order by 处理语法“claim[0].value”,但过滤器不处理。
这会产生一个错误:
Error: Syntax Error: Token '[' is unexpected, expecting [:]
at column 25 of the expression
[elements | filter:{claim[0].value:srcBoxFilter} | orderBy: "claim[0].value"]
starting at [[0].value:srcBoxFilter} | orderBy: "claim[0].value"].
【问题讨论】:
-
这个不同是因为引入了数组。我试过 filter:{claim:[{value:srcBoxFilter}]} 但这似乎不起作用(虽然错误消失了)
标签: javascript angularjs angularjs-filter