在角度滤波器结果中包括计算值

时间:2015-03-02 01:54:26

标签: javascript angularjs angularjs-filter

是否可以将过滤器应用于从数据集计算的值而无需修改实际数据集?例如 -

<input ng-model="query">

<li ng-repeat='val in values | filter:query'>
  {{val.a}} + {{val.b}}
</li>

我想搜索val.a + val.b

的结果

2 个答案:

答案 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
    }, ];