2014-05-13 177 views
6

我只是创建一个过滤器来将我的日期转换为时间。我会打电话给AngularJS的官方过滤器“日期”。我可以在AngularJS的过滤器中使用过滤器吗?

project.date_created_atproject.mel不具有相同的格式。所以我需要为project.date_created_at创建一个自定义过滤器。

HTML:

<span>{{ project.date_created_at | dateCustom }}</span> 
<span>{{ project.mel | date:'dd/MM/yyyy' }}</span> 

JS:

myApp.filter('dateCustom', function() { 
    return function (input) { 

     if(input != undefined) { 
      var d = new Date(input); 
      var time = d.getTime(); 
      // use official $filter('date') here ? 
     } 

    } 
}); 

我想用这种格式:

date:'dd/MM/yyyy' 

回答

11

你可以注入$过滤器像一个依赖你会这样做的交流控制器,服务或指令。

myApp.filter('myFilter',[ '$filter', function ($filter) { 
    return function (input) { 
     /** 
     Do your stuff 
     **/ 
     return $filter('date')(myDate,myFormat); 
    } 
}]); 

在一个侧面说明,你应该使用angular.isDefined而不是!= undefined

$filterdate的文档了解更多信息

+0

哇噢!很好的答案!它很棒! Merci Julien。 ;-) – Steffi

+0

不客气。 :) – Julien

相关问题