Comment appliquer une fonction à un angularjs expression à l'intérieur d'un contrôleur?

simple question, je voudrais appliquer une fonction à l'intérieur de mon contrôleur de la portée d'une expression.

C'est mon code HTML à l'intérieur de mon contrôleur

<p><span ng-if="paginaDetail.pubdate !== '' ">Vanaf {{paginaDetail.pubdate}}</span></p>

C'est mon javascript

$scope.formatMysqlTimestampToHumanreadableDateTime = function(sDateTime){
    sDateTime = sDateTime.toString();
    var sHumanreadableDateTime = sDateTime.substring(8, 10) + "/" + sDateTime.substring(5, 7) + "/" + sDateTime.substring(0, 4);
    sHumanreadableDateTime += " " + sDateTime.substring(11, 13) + ":" + sDateTime.substring(14, 16);
    return sHumanreadableDateTime;
};

et ce que j'ai essayé de faire est d'appliquer formatMysqlTimestampToHumanreadabledatetime à paginaDetail.pubdate comme ce

<p><span ng-if="paginaDetail.pubdate !== '' ">Vanaf {{formatMysqlTimestampToHumanreadableDateTime(paginaDetail.pubdate)}}</span></p>

ou ce

<p><span ng-if="paginaDetail.pubdate !== '' ">Vanaf {{paginaDetail.pubdate|formatMysqlTimestampToHumanreadableDateTime}}</span></p>

mais les deux moyens ne sont pas corrects.

La première méthode fonctionne, mais sur la console j'ai cette erreur

Erreur: [$interpoler:interr]
http://errors.angularjs.org/1.2.16/$interpolate/interr?p0=Tot%20%7B%7BformatMysqlTimestampToHumanreadabledatetime(paginaDetail.endpubdate)%7D%7D&p1=TypeError%3A%20sDateTime%20is%20undefined
t/<@http://mysite.local/js/libs/angular.min.js:6:443
g/r@http://mysite.local/js/libs/angular.min.js:78:354
Yd/ce.$gethttp://monsite.local/js/libs/angulaire.min.js:106:161
Yd/ce.$gethttp://monsite.local/js/libs/angulaire.min.js:109:285
f@http://mysite.local/js/libs/angular.min.js:71:234
F@http://mysite.local/js/libs/angular.min.js:75:408
ve/http://mysite.local/js/libs/angular.min.js:76:457

http://mysite.local/js/libs/angular.min.js Ligne 89

et le second ne fonctionne simplement pas.

Avez-vous des suggestions? Merci beaucoup.

OriginalL'auteur axel | 2014-06-23