AngularJS。等于运算符在false时返回true

时间:2014-06-10 21:26:10

标签: javascript angularjs angularjs-view


在angularJS中有一个没有按照我应该返回的相等运算符。

例子:
来自对象“data.valuea”的值为50.
来自对象“data.valueb”的值是200

<p ng-show="{{data.valuea >= data.valueb}}" class="ng-hide premioprogress">OK</p>
<p ng-show="{{data.valuea < data.valueb}}" class="ng-hide premioprogress">Faltam: {{data.valueb - data.valuea}} pts</p>

我做错了吗?或者更正确的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

值很可能是字符串而不是数字,因此JavaScript正在进行字符串比较。解决这个问题的一种方法是将parseInt()放在范围上并在表达式中使用它...

$scope.parseInt = function (i) {
    return parseInt(i, 10);
};

<p ng-show="parseInt(data.valuea) >= parseInt(data.valueb)"></p>

JSFiddle