2017-03-16 79 views
0

我有使用过滤器在控制器AngularJs与GROUPBY筛选在控制器

$scope.toLocaleDate = function (e) { 
       var date = e.da.split(" "); 
       e.da = date[0]; 
       return e; 
      }; 

现在我想有滤波的数据到另一个JSON鉴于

<div ng-repeat="(key, value) in TData.Files 
      | map: toLocaleDate 
      | groupBy: 'da'"> 
<div><strong>{ Date:</strong> "{{ key }}" , Count: {{value.length}} } ,</div> 

一个JSON滤波器目的。所以我需要在控制器中进行筛选,而不是在视图中。如何实现该功能?

预期的结果是一样

[{'Date':"2012-01-12", Count:5},{'Date':"2012-01-13", Count:8}, ....] 
+0

使用$过滤器,这样你就可以过滤控制器中的数据 –

+0

我解决了var newData = $ filter('groupBy')(OriginalData,'FieldName'); – DrVishnu

回答

0

,因为在angularjs没有缺省过滤GROUPBY所以,你必须做一个过滤器为 ,你可以在短短的

解释控制器使用任何过滤器

注入$filter依赖,并在控制器只需使用简单的语法

$filter('filtername')('arraydata', 'other arguments'); 

http://jsfiddle.net/R8YZh/35/