如何在 AngularJS 中的指令中使用过滤日期

how use filter date in directive in AngularJS

我有 ISO8601 格式的日期,我必须在指令中将其重新格式化为 'dd/MM/yy HH:mm:ss' 格式,但它不起作用。日期以原始格式显示。

指令:

app.directive('createTimeDirective', function ($filter) {
    return {
        restrict: 'E',
        template: '<div style="font-size: 9px;"> Created at {{date2}}<div>',
        //replace: true,
        scope: {
            date: '@'
        },
        link: function (scope, elem, attrs) {
            var dateFormat = 'dd/MM/yy HH:mm:ss';
            //scope.date = attrs.date;
            scope.date2 = $filter('date')(attrs.date, dateFormat);
            console.log(scope);

        }
    };
});

指令用法:

<create-time-directive date="'{{notices[$index].CreationTime}}'"></create-time-directive>|

是的,JB Nizet 的回答很好:)。

但完整的解决方案在这里:

指令用法(删除单引号):

<create-time-directive date="{{notices[$index].CreationTime}}"></create-time-directive>|

指令已更新:

app.directive('createTimeDirective', ['$filter', function ($filter) {
    return {
        restrict: 'E',
        template: '<div style="font-size: 9px;"> Created at {{date2}}<div>',        
        scope: {
        date: '@'
    },
        link: function (scope, elem, attrs) {
            var dateFormat = 'dd/MM/yy HH:mm:ss';        
            scope.date2 = $filter('date')(attrs.date, dateFormat);            
        }
};
}]);