Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 重复分组并保持秩序_Javascript_Html_Angularjs_Angularjs Directive_Ionic Framework - Fatal编程技术网

Javascript 重复分组并保持秩序

Javascript 重复分组并保持秩序,javascript,html,angularjs,angularjs-directive,ionic-framework,Javascript,Html,Angularjs,Angularjs Directive,Ionic Framework,我用这个过滤器对我的数据进行排序,效果很好: <div ng-repeat="(key, value) in tags.tags.objects | groupBy:'category.name' "> 现在我试着按照category.order来保持这些组的顺序 这可能吗 我试着这样做: <div ng-repeat="(key, value) in tags.tags.objects | groupBy:'category.name' | orderBy:'categ

我用这个过滤器对我的数据进行排序,效果很好:

<div ng-repeat="(key, value) in tags.tags.objects | groupBy:'category.name' ">

现在我试着按照category.order来保持这些组的顺序

这可能吗

我试着这样做:

<div ng-repeat="(key, value) in tags.tags.objects | groupBy:'category.name' | orderBy:'category.order' ">


但是它没有任何区别

orderBy
过滤器不能处理
ngRepeat
中的对象。所以,你可以这样做:

<!-- 
     Note: toArray filter also attaches a new property $key
     to the value containing the original key that was used in the object. 
-->

<div ng-repeat="tags in tagsList | groupBy:'prop' | toArray:true | orderBy:'$key'">
  Group name: {{ tags.$key }}
  <p ng-repeat="tag in tags | orderBy:'prop'">
     {{ tag.name }}
  </p>
</div>

组名:{{tags.$key}}

{{tag.name}


请参阅:筛选器groupBy应始终是ng repeat中的最后一个。。 所以,首先设置orderBy,最后设置groupBy,然后可以使用TrackBy$index 因此,正常的ng重复将是

ng-repeat="item in items orderBy:'price' | groupBy:'name' track by $index"
。。。
即使有点晚了,也希望能有所帮助

要部分了解djsiz的答案(无需跟踪,而且缺少管道),您可以这样做:

<div ng-repeat="(key, value) in tags.tags.objects | orderBy:'category.order' | groupBy:'category.name'">

groupBy创建了一个对象,但orderBy需要一个数组。。。如果您在分组之前按orderBy排序,则它应该正确排序


这是每次我对数组中的对象进行编辑时都会刷新列表,现在会导致性能问题,我想这和ToArray有关,有什么办法解决吗?