$scope.countries = [{name: 'UNITED KINGDOM', id: 1, sign:"£", 'val':2300987 },{name: 'AUSTRIA', id: 2, sign:"€", 'val':6703482 }
// In HTML
<tr ng-repeat="country in countries">
<td class="td-border">{{country.val| currency}}</td>
</tr>
我需要角度过滤器,根据上述对象有条件地处理货币..
答案 0 :(得分:2)
来自Angular Docs
过滤器定义{{currency_expression |货币:符号: fractionSize}}
只需将参数添加到过滤器即可标记您的货币。
<强>标记强>
<tr ng-repeat="country in countries">
<td class="td-border">{{country.val| currency: country.sign}}</td>
</tr>
答案 1 :(得分:0)
我认为您需要根据货币过滤行。您只需将代码更新为以下
即可实现这一目标// In HTML
<tr ng-repeat="country in countries | filter : {sign : currency}">
<td class="td-border">{{country.val}}</td>
</tr>
答案 2 :(得分:0)
首先,如果您希望过滤器格式化您的货币,则必须将国家/地区对象或符号和val传递给它,否则您无法使用过滤器添加标记。
.filter('currency', [function() {
return function(countryObj) {
return countryObj.val + countryObj.sign;
}
};
}])
答案 3 :(得分:0)
角度的过滤可以在转发器上绑定。 使用单独的模型来存储当前货币非常简单:
IReadOnlyCollection<out T>
在转发器上过滤将很容易:
$scope.currency = "£";