2014-05-13 3 views
6

Je viens de créer un filtre pour convertir ma date à l'heure. Et j'appellerais dans le filtre officiel "date" d'AngularJS.Puis-je utiliser un filtre à l'intérieur d'un filtre dans AngularJS?

project.date_created_at et project.mel n'ont pas le même format. J'ai donc besoin de créer un filtre personnalisé pour 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 ? 
     } 

    } 
}); 

Je voudrais utiliser ce format:

date:'dd/MM/yyyy' 

Répondre

11

Vous pouvez injecter filtre $ en tant que dépendance comme vous le feriez pour ac ontroller, un service ou une directive.

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

Sur une note de côté, vous devez utiliser angular.isDefined au lieu de != undefined.

Voir la documentation de $filter et de date pour plus de détails

+0

Woohoo! Très bonne réponse ! Cela fonctionne très bien! Merci Julien. ;-) – Steffi

+0

De rien. :) – Julien