Javascript 带过滤器和groupBy的角度JS-NG重复

Javascript 带过滤器和groupBy的角度JS-NG重复,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我正在构建一个仪表板,以显示OGOGING和已解决的问题。我用angular的ng repeat和过滤器完成了所有工作,并按日期分组。以下是我到目前为止得到的一个快速示例: <div ng-app="myApp"> <div ng-controller='TestGroupingCtlr'> <div ng-repeat="item in MyList | filter: {status: 'Closed'} | groupB

我正在构建一个仪表板,以显示OGOGING和已解决的问题。我用angular的ng repeat和过滤器完成了所有工作,并按日期分组。以下是我到目前为止得到的一个快速示例:

<div ng-app="myApp">
        <div ng-controller='TestGroupingCtlr'>
            <div ng-repeat="item in MyList | filter: {status: 'Closed'} | groupBy:'groupfield' " >
                <h2 ng-show="item.groupfield_CHANGED">{{item.groupfield}}</h2>
                <ul>
                    <li>{{item.whatever}} - Status: {{item.status}}</li>
                </ul>
            </div>
        </div>
</div>
我的JSFIDLE示例:

我的问题是,我需要的案件仍然开放,以显示在今天的小组只。现在,从技术上讲,我可以简单地创建一个新的ng repeat,只显示未解决的问题,并将其隐藏在我的第一个列表下。但由于我有一个非常大的模板,有很多问题的细节,所以我想避免维护两个模板

有没有人知道,是否有一种方法可以简单地使用现有的Ng repeat and tell,即在索引数组的末尾显示所有未解决的问题,以便它以某种方式发现自己在Todays组中?感谢您的帮助

这就是我希望展示的:

Yesterday

Server Z is down - Status: Closed

Today

Network problem - Status: Closed
Network is down - Status: Closed
Server X down - Status: Open
Access isses - Status: Open

当您调用filter时,如中所述,“最终结果是谓词为其返回true的那些元素的数组”。也就是说,不会包含任何状态为“Open”的项

这意味着您应该再次重复ng,以显示“打开”的。它可能不会影响性能太多,但是,如果你不让事情快速和有组织的,考虑使用分页。
如果您确实不想使用另一个ng repeat或paginate,您也可以创建自己的自定义筛选器。

将筛选应用于li元素级别可能比在组级别更容易

<div ng-app="myApp">
        <div ng-controller='TestGroupingCtlr'>
            <div ng-repeat="item in MyList | groupBy:'groupfield' " >
                <h2 ng-show="item.groupfield_CHANGED">{{item.groupfield}}</h2>
                <ul >
                    <li ng-show="item.status=='Closed' || item.groupfield=='Today' ">{{item.whatever}} - Status: {{item.status}}</li>
                </ul>
            </div>

        </div>

</div>

{{item.groupfield}}
  • {{item.whatever}-状态:{{{item.status}

谢谢Anthony最后做了与您提到的类似的事情。
<div ng-app="myApp">
        <div ng-controller='TestGroupingCtlr'>
            <div ng-repeat="item in MyList | groupBy:'groupfield' " >
                <h2 ng-show="item.groupfield_CHANGED">{{item.groupfield}}</h2>
                <ul >
                    <li ng-show="item.status=='Closed' || item.groupfield=='Today' ">{{item.whatever}} - Status: {{item.status}}</li>
                </ul>
            </div>

        </div>

</div>