角度过滤器分组依据过滤器返回一个“未定义”字段
angular-filter groupby filter returns an "undefined" field
我正在分组一个大的json数组。它有效,但在数组的末尾,我得到了一个"未定义"的类别。
'The University and Jepson Herbaria
- California Herbs Collection
University of California Museum of Paleontology
- UCMP Vertebrate Collection
undefined
-
-
我很难弄清楚这是从哪里来的。这是我正在使用的代码。
<div ng-repeat="(key,value) in datasources | groupBy: 'institution'" > {{ key }}
<li ng-repeat="collection in value">
{{ collection.name }}
</li>
</div>
有什么想法吗?
我认为这可能是这家伙遇到的问题的混合,但我并没有完全关注这个问题——我是角度和 js 的新手:角度类型提前过滤器错误"未定义不是函数"
更新:当我 collection.name 更改为集合时(所以我只是转储键的值)
<div ng-repeat="(key,value) in datasources | groupBy: 'institution'" > {{ key }}
<li ng-repeat="collection in value">
{{ collection }}
</li>
</div>
我得到:
'The University and Jepson Herbaria
- (...long value...)
University of California Museum of Paleontology
- (...long value...)
undefined
- {}
- true
它就像它循环播放所有内容,但还有 2 件额外的事情。groupBy 函数的源代码如下: https://github.com/a8m/angular-filter/blob/master/src/_filter/collection/group-by.js
不过,我对 js 的能力不足以做出正面或反面。
感谢@james的帮助!!我被困了一整天。
我正在使用工厂来返回一个 json 对象。完成此操作后,其他一些东西就会被附加。为什么角度$resource向我的数据响应添加额外的对象($promise、$resolve...)?
关键是$promise,$resolved得到回报。如果你循环使用新对象,这些对象就会随之而来。
要去除 Angular 添加的变量并只处理您的数据,请使用:angular.toJson。然后使用 JSON.parse 将其转回 json 对象。
$scope.datasources = JSON.parse(angular.toJson(data))
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 角度过滤器可以工作,但将输入视为未定义并抛出错误
- AngularJS自定义过滤器未触发点击事件
- Angular js自定义过滤器未定义
- 角度过滤器分组依据过滤器返回一个“未定义”字段
- AngularJS:过滤器被多次触发,值经常未定义
- 如果绑定为空/未定义(带过滤器),Angularjs模板默认值
- 未定义带有自动完成功能的角过滤器
- 角度日期过滤器显示未定义/ NaN,即使使用ng-cloak