我使用了角度过滤器来进行各种有趣的格式化,但始终使用原始值。例如,将数字过滤为货币格式。
我如何对一组值进行相同类型的过滤?例如
price = 1
prices = [1,2,3]
假设货币是https://docs.angularjs.org/api/ng/filter/currency
中提到的货币过滤器{{price | currency}}
将返回$ 1.00
我想
{{prices | currency}}
返回[$ 1.00,$ 2.00,$ 3.00]
我怎么能写一个过滤器呢?或者我应该使用不同的工具吗?
更多背景信息......我在angular-selectize plugin内使用此数组。我没有选择在我的价值观上使用ng-repeat。
答案 0 :(得分:1)
currency
过滤器适用于单个值。如果需要适用于数组的过滤器,则需要添加自己的过滤器,例如:
angular.module('yourModule')
.filter('currenyArray', function($filter) {
return function(input, uppercase) {
input = input || [];
var out = [];
for (var i = 0; i < input.length; i++) {
out.push($filter('currency')(input[i]))
}
return out;
};
})
然而,这将返回一个数组。如果您确实想编写数组,则需要调整函数以计算字符串而不是数组。