[英]Inconsistent behaviour of Angular JS number filter
一开始听起来可能很奇怪,但是请相信我,我已经看到了这种情况:
我有以下一段Angular代码:
<tr ng-repeat="i in list">
<td>{{i.name}}</td>
<td ng-repeat="x in [0,1,2,3,4,5,6,7,8,9,10,11]">{{i.data[x] | number}}</td>
<td>{{i.Yield| number}}</td>
<td>{{i.Total | number}}</td>
</tr>
我在上面的代码中遇到了一个奇怪的问题。 根据API文档,当数据数组的少数索引为null时,我期望它们显示为null(无)。 即使在JS中将null解析为零,也可以期望在null处看到零。
但是我发现一种随机行为,即很少有索引被转换为零,而很少有索引保持为空。 我无法为此找到任何模式。
更奇怪的是,即使在页面已加载后,值也从零更改为null或从null更改为零,这一事实使我了解到正在运行和更新这些值的任何摘要周期。
为了做出适当的限制,我将上面的代码修改如下
<tr ng-repeat="i in list">
<td>{{i.name}}</td>
<td ng-repeat="x in [0,1,2,3,4,5,6,7,8,9,10,11]">{{i.data[x] != null ? (i.data[x] | number) : ''}}</td>
<td>{{i.Yield === null ? '' : i.Yield | number}}</td>
<td>{{i.Total === null ? '' : i.Total | number}}</td>
</tr>
但问题依旧。 我已经尝试过寻找任何错误,但是从我这方面来看一切都很好。 数据肯定为空,没有应用可能导致这种行为的其他检查; 我还看不到。
有没有人以前遇到过这种事情。
将您的标记更改为:
<td ng-repeat="item in i.data | limitTo : 12">{{item != null ? item : NaN | number }} </td>
角数过滤器,返回值为NaN,但不为空字符串('')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.