Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角JS数滤波器的不一致行为_Javascript_Angularjs_Angularjs Ng Repeat_Angularjs Filter - Fatal编程技术网

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尝试了你的建议。现在它将所有的空值转换为零,但是我希望将空值显示为空白