如何仅使用{{}}获取Angular 1中的当前年份?

时间:2017-01-05 17:26:24

标签: javascript angularjs date

在一个相当复杂的角度网络应用程序中,我需要动态的一年显示在没有指令的页脚中。是否有一种角度方式只使用{{SomeDateFunction()}}来完成它?

我看到有人说{{Date.now() | date:'yyyy'}},它没有显示任何内容。我已尝试{{new Date().getFullYear()}}打破角度,错误说

  

Syntax Error: Token 'Date' is an unexpected token at column 5 of the expression [new Date().getFullYear()] starting at [Date().getFullYear(].

我不想从根作用域链接作用域,或者将它放在一年中的指令中,这正是{{}}表达式应该能够解决的问题,而非与日期相关的简单{{}}表达式显示得很好。

2 个答案:

答案 0 :(得分:18)

您需要将控制器内的日期对象定义到范围内。

$scope.date = new Date();

然后在视图中做

{{date| date:'yyyy'}}

答案 1 :(得分:2)

回应很晚,希望你已经得到了答案。为每个人提供答案,



(function(angular) {
  'use strict';
  var app = angular.module("myApp", []);
  app.controller('dateController', function($scope) {
    $scope.SomeDateFunction = function() {
      var currentdate = new Date();
      return currentdate.getFullYear();
    }
  });
})(window.angular);

<!DOCTYPE html>
<html>

<head>
  <script data-require="angularjs@1.6.4" data-semver="1.6.4" src="https://code.angularjs.org/1.6.4/angular.min.js"></script>
  <script src="script.js"></script>
</head>

<body ng-app="myApp">
  <div ng-controller="dateController">
    <h1>Hello World!</h1> &copy; this is copyright protected as of {{SomeDateFunction()}}
  </div>
</body>

</html>
&#13;
&#13;
&#13;

它可以让你得到你想要的东西。