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有关,有什么办法解决吗?