Javascript 带过滤器和groupBy的角度JS-NG重复
我正在构建一个仪表板,以显示OGOGING和已解决的问题。我用angular的ng repeat和过滤器完成了所有工作,并按日期分组。以下是我到目前为止得到的一个快速示例: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
<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>