是否可以将过滤器应用于从数据集计算的值而无需修改实际数据集?例如 -
<input ng-model="query">
<li ng-repeat='val in values | filter:query'>
{{val.a}} + {{val.b}}
</li>
我想搜索val.a + val.b
的结果答案 0 :(得分:1)
app.filter('customFilter', function(){
return function(input){
for (var i = 0; i < input.length; i++){
input[i].search = input[i].a + input[i].b;
}
return input;
}
})
<li ng-repeat="name in names | customFilter | filter : {search: query}">
答案 1 :(得分:0)
在这里,我创建了一个简单的fiddle来演示相同的内容。使用自定义过滤器来搜索用户的帖子和评论总和。
myApp.filter('sumofTwo', function() {
return function(items, search) {
var temp=[];
if (!search) {
return items;
}
for(i=0;i<items.length;i++){
console.log(search);
console.log(items[i].posts+items[i].comments);
if((items[i].posts+items[i].comments)==search){
temp.push(items[i]);
}
}
return temp;
}
});
$scope.users = [{
name: 'Kenny',
posts: 1,
comments: 6
}, {
name: 'Kyle',
posts: 2,
comments: 7
}, {
name: 'Eric',
posts: 3,
comments: 8
}, {
name: 'Stan',
posts: 4,
comments: 9
}, {
name: 'Butters',
posts: 5,
comments: 10
}, ];