2016-05-23 15 views
0

日付はISO8601形式であり、フォーマットで 'dd/MM/yy HH:mm:ss'という形式に再フォーマットする必要がありますが、機能しません。日付は元の形式で表示されます。AngularJSのディレクティブでフィルター日付を使用する方法

ディレクティブ:

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>| 
+2

それは '{{注意事項[$インデックス]でなければなりません.CreationTime}} ''、{'notices [$ index] .CreationTime}}' 'ではありません。一重引用符を削除します。 –

答えて

0

はい、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);    
     } 
}; 
}]);