2017-07-11 13 views
0
mainApp.filter('sumOfValue', function() { 
    return function(data, key) { 
     debugger; 
     if (angular.isUndefined(data) || angular.isUndefined(key)) 
     return 0; 
     var sum = 0; 

     angular.forEach(data, function(v, k) { 
     sum = sum + parseFloat(v[key]); 
     }); 
     return sum; 
    } 
}); 

これは私のフィルターです.jsです。そして、値をコントローラにsumofvalueで格納する方法。誰でも助けてくれます。あなたがここ角度jsファイルに定義済みのフィルタとして をこのフィルタを使用することができますenter code here角度jsのコントローラーでカスタムフィルター値を取得する方法

答えて

0

はデモのリンクですJsfiddle

のJs

var app = angular.module('myApp', []); 

app.controller('ctrl', function($scope) { 
    $scope.data = [{ 
    id: 1, 
    value: 'abc' 
    }, { 
    id: 1, 
    value: 'test' 
    }]; 
}); 

app.filter('sumOfValue', function() { 
    return function(data, key) { 
    if (key) 
     return data.filter(function(obj) { 
     return obj.value == key; 
     }); 
    return data; 
    } 
}); 

app.run(function() { 

}); 

HTML

<div ng-app='myApp'> 
    <div ng-controller='ctrl'> 
    <input type='text' ng-model='search' placeholder='search'> 
    <br> 
    <span ng-repeat='item in data| sumOfValue: search'> 
     {{item.value}} 
    </span> 
    </div> 
</div> 

これは役立つかもしれません君は。

関連する問題