2014-09-25 61 views
1

我發現Angular Date documentation here,並認爲過濾器yyyy就夠了,但它仍然附在當天。如何在Angular中顯示4位數年份?

我的HTML:

<p class="footer_copy">&copy; {{ footer.date | date : yyyy }} AT&amp;T</p> 

我的頁腳角指令,用一個函數來創建一個日期:

// Directive for Footer 
app.directive('appFooter', function() { 
    return { 
     restrict: 'E', 
     templateUrl: 'templates/app-footer.html', 
     controller: function(){ 
      this.date = Date.now(); 
     }, 
     controllerAs:'footer' 
    }; 
}); 

但是現在它吐出來©2014年9月24日AT & T

我想要它創建©2014 AT; 0 T

回答

3

您需要使用傳遞格式字符串

var app = angular.module('my-app', [], function() {}) 
 

 
app.directive('appFooter', function() { 
 
    return { 
 
     restrict: 'E', 
 
     template: '<p class="footer_copy">&copy; {{ footer.date | date:"yyyy" }} AT&amp;T</p>', 
 
     controller: function(){ 
 
      this.date = Date.now(); 
 
     }, 
 
     controllerAs:'footer' 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="my-app"> 
 
    <app-footer></app-footer> 
 
</div>
另一種方法是通過格式作爲一個變量像
var app = angular.module('my-app', [], function() {}) 
 

 
app.directive('appFooter', function() { 
 
    return { 
 
    restrict: 'E', 
 
    template: '<p class="footer_copy">&copy; {{ footer.date | date:footer.dateFormat }} AT&amp;T</p>', 
 
    controller: function() { 
 
     this.date = Date.now(); 
 
     this.dateFormat = 'yyyy' 
 
    }, 
 
    controllerAs: 'footer' 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="my-app"> 
 
    <app-footer></app-footer> 
 
</div>

+1

我可以在控制器組合成我的指令正確?會討厭浪費整個控制器只是爲了吐出一個日期。他們將如何結合到我現在擁有的? – 2014-09-25 04:09:08

+1

@LeonGaban是的..你可以 – 2014-09-25 04:10:41

+0

啊我錯過了我yyyy周圍的報價,'yyyy'謝謝! 4分鐘 – 2014-09-25 04:10:52

相關問題