角度ng重复项目过滤器

时间:2016-09-22 02:55:05

标签: angularjs-ng-repeat angularjs-filter

我有一系列菜单项,我试图根据用户权限显示。每个菜单项都有一个属性group,它是菜单项所属的组号。项目应以升序组号显示,每组后应有一个分隔符,表示组之间的分隔。

<li ng-repeat="item in (sortedItems = (navSidebar.menu.items | orderBy:['group','position','title']))" data-ng-if="item.show()">
    <span>{{item.title}}</span>
    <hr ng-show="item.group !== sortedItems[$index+1].group && !!sortedItems[$index+1].group && item.group !== 0">
</li>

首先,我按组排序项目,然后按每个组排序。然后我将sortedItems作为新数组。然后,如果项目组编号与下一个项目不同,我基本上会显示分隔符。

每个项目的

item.show()方法返回一个布尔值,它根据用户权限显示/隐藏项目。我面临的问题是分频器逻辑总是检查下一个项目的组号,但是某个用户看不到下一个项目。因此,它抛弃了逻辑,并且分频器不一致。

是的,我知道可以将数组注入到视图中,并且已经在控制器中完成了所有逻辑。我被严格告知在视图中这样做。

有关如何完成此任务的任何建议?第一次在这里发帖。

0 个答案:

没有答案