【发布时间】:2014-08-20 19:59:50
【问题描述】:
我发现这个过滤器https://gist.github.com/Cacodaimon/7309268 sumByKey 非常好用,可以按任何给定键计算摘要。
demo.filter('sumByKey', function () {
return function (data, key) {
if (typeof (data) === 'undefined' || typeof (key) === 'undefined') {
return 0;
}
var sum = 0;
for (var i = data.length - 1; i >= 0; i--) {
sum += parseInt(data[i][key]);
}
return sum;
};
})
我怎样才能使这个过滤器成为一个函数,即:
$scope.getTotal = function(key){
// function of the filter here
}
原因是即使我可以像这样使用过滤器:
{{filtered|sumByKey:'quantity'}}
我不能在这样的计算中使用它:
{{filtered|sumByKey:'quantity' * price}}
我可以使用这样的函数:
{{getTotal(quantity) * price}}
关于如何在计算中使用过滤器或使过滤器发挥作用的任何想法?
【问题讨论】:
-
这些答案有什么好运气吗? :)
标签: javascript angularjs filter