Javascript 角JS数滤波器的不一致行为
这在一开始可能听起来很奇怪,但相信我,我已经看到了这种情况: 我有以下一段角度代码:Javascript 角JS数滤波器的不一致行为,javascript,angularjs,angularjs-ng-repeat,angularjs-filter,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Filter,这在一开始可能听起来很奇怪,但相信我,我已经看到了这种情况: 我有以下一段角度代码: <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] | n
<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>
{{i.name}
{{i.data[x]| number}
{{i.Yield | number}}
{{i.Total | number}
我在上面的代码中遇到了一个奇怪的问题。当数据数组中有几个索引为null时,我希望它们按照API文档显示为null(nothing)。即使null在JS中被解析为零,也可以期望在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>
{{i.name}
{{i.data[x]!=null?(i.data[x]|编号):''}
{{i.Yield==null?'':i.Yield | number}
{{i.Total==null?'':i.Total | number}
但问题依然存在。我一直在努力寻找自己的失误,但从我的角度看一切都很好。数据肯定为空,没有其他可能导致这种行为的检查;我还看不见
有没有人曾经遇到过这种情况。将您的标记更改为:
<td ng-repeat="item in i.data | limitTo : 12">{{item != null ? item : NaN | number }} </td>
{{item!=null?item:NaN | number}
对于NaN而不是空字符串(“”),返回为空的角度数过滤器您可以在JSFIDLE上创建一个示例,以再现问题?您是否尝试过{{item!=null?item:''number}}@jbrown Nope,还没有尝试过。无论如何,它应该如何进行任何更改?我不确定这是否能解决您的问题,但ng repeat=“x in[0,1,2,3,4,5,6,7,8,9,10,11]”的代码确实很奇怪。如果看不到列表的内容,我可能无法帮助您解决问题@StepanKasyanenko建议使用JSFIDLE是个好主意。我在@jbrown尝试了你的建议。现在它将所有的空值转换为零,但是我希望将空值显示为空白