我需要显示正数或负数。问题是我从api获取数据,其中我有一个delta -X表示正数,X表示负数。
所以要显示我的数据,我需要每-1乘以。
我有这段代码:
{{myData * -1}}
但是我需要一种方法来为我的数据添加一个+符号,以防它是正数。如果我有(-120 * -1)我应该得到+120。
我怎样才能为我的号码添加加号?
答案 0 :(得分:14)
在输出中添加“+”符号可以这么简单:
{{number > 0 ? '+' : ''}}{{number}}
如果您需要在整个地方进行,我可能会写一个指令来附加符号。
注意: 三元运算符仅适用于Angular 1.2 +
答案 1 :(得分:8)
AngularJS的方法是通过custom filter。过滤器用于格式化和显示数据。此外,它们可以在多个地方轻松重复使用。有一个similar post,其中包含一个自定义过滤器如何用于解决格式问题的示例。
答案 2 :(得分:3)
如果我在此了解您的需要,您应该能够使用函数来获取数据而不是直接访问整数。
app.controller('myCtrl', function($scope) {
var foo = 1;
$scope.getData = function() {
if (foo > 0) {
foo = '+'+parseInt(foo);
}
return foo;
}
});
<p>{{getData()}}</p> <!-- displays "+1" -->
答案 3 :(得分:1)
您也可以使用“过滤”方式:
app.filter('plusOrMinus', function(){
return function(input){
input = input ? input : 0
return input > 0 ? "+"+input : input
}
})
然后在你的观点上:
<p>{{number | plusOrMinus}}</p>