从AngularJS插值

时间:2017-12-07 16:11:47

标签: javascript html angularjs

我知道这个问题的普通JavaScript代码有答案,但在这种情况下它们不可用。

我有一个必须填充数据的表。我的代码如下所示:

<tr ng-repeat="rows in $ctrl.matrix[0] track by $index">
    <td>{{$ctrl.labels[$index]}}</td>
    <td ng-repeat="label in $ctrl.xMatrix">{{$ctrl.matrix[$index][$parent.$index].toFixed(2)}}</td>
</tr>

可以看出,使用toFixed(2)删除点后的两位数字。

我也想要这个改变:

34.90 => 34.9
 0.00 => 0

正如它所说here,我是parseFloat(n.toFixed(2));,所以在我的情况下它会是:

{{parseFloat($ctrl.matrix[$index][$parent.$index].toFixed(2))}}

{{$ctrl.parseFloat(matrix[$index][$parent.$index].toFixed(2))}}

但在这两种情况下我都没有错误,我的表是空的。

有没有办法在{{}}内删除这些零?

2 个答案:

答案 0 :(得分:0)

确保将您的号码转换为“数字”。然后施放为一个字符串。

var numberstring = "1.2350000";

var number = Number(numberstring);
console.log(typeof number);

var zerodown = number.toString();
console.log(zerodown)

更改{{}}内的数字的可能性不大。这是动态应用的变量的占位符。您应该在服务器端或在解析值之后执行此操作。

答案 1 :(得分:0)

简单使用 number Angular Js过滤器

{{$ctrl.matrix[$index][$parent.$index] | number}}

OR

使用 $ eval

{{$eval($ctrl.matrix[$index][$parent.$index])}}