2014-07-11 95 views
0

我有自定义过滤器:如何NG-中继器的东西通过自定义过滤器过滤,过滤器内

errorReporter.filter('customDateFilter', function() { 
    return function (input) { 
     var input1 = parseInt(input.substring(6)); //da makne onaj /Date početak 
     var jsDate = new Date(input1); 
     var day = jsDate.getDate(); 
     var month = jsDate.getMonth(); 
     var year = jsDate.getFullYear(); 
     return day.toString() + "." + (month + 1).toString() + "." + year.toString(); 
    }; 
}); 

我也有:

<tr class="animate-repeat" ng-repeat="error in latestErrors| orderBy:predicate:reverse| 
filter:{ TimeUtc :SearchTimeUtc}"> 

      <td >{{error.TimeUtc | customDateFilter}}</td> 
     </tr> 
    And somewhere I have filter input : 
<th><input type="text" ng-model="SearchTimeUtc" /></th>  

问题是,与输入I过滤器 “TimeUtc”,而不是“TimeUtc | customDateFilter”。

例如,我有TimeUtc/Date/5869454458 /和TimeUtc | customDateFilter返回12.07.2014。如果我在输入内输入2014,它不会过滤。如果我输入5869,我会进行行筛选。

UPDATE: 我提出这个滤波器: errorReporter.filter( 'SearchTimeUtcFilter',函数(){

return function (input) { 
    var input1 = parseInt(input.substring(6)); //da makne onaj /Date početak 
    var jsDate = new Date(input1); 
    var day = jsDate.getDate(); 
    var month = jsDate.getMonth(); 
    var year = jsDate.getFullYear(); 
    var datum = day.toString() + "." + (month + 1).toString() + "." + year.toString(); 
    $log.info("why doesn't log?"); 
    if (datum.indexOf($scope.SearchTimeUtc) > -1) 
     return true; 
    return false; 
} 

}); 和NG-重复里面:

<tr class="animate-repeat" ng-repeat="error in latestErrors| orderBy:predicate:reverse| 
filter:{ TimeUtc :SearchTimeUtcFilter}"> 

仍然一无所获:(

回答

1

你为什么不尝试链接过滤器基本上,一个过滤器的输出成为下一个的输入 https://docs.angularjs.org/guide/filter

+0

。给我看代码,在ng-repeat过滤器里面写什么? –

+0

http://stackoverflow.com/questions/18792039/angularjs-multiple-filter-with-custom-filter-function –

+0

我做了更新,请问,再看... –

相关问题