AngularJS:系统日期更改时调用函数

时间:2014-11-03 07:08:37

标签: javascript angularjs date

我想在用户的系统日期发生变化时刷新页面内容。 用户在中午3-11-11(11月3日)访问该页面,当系统日期更改为04-11-2014(11月4日)时,应刷新内容或调用函数。

我们可以使用$interval(checksysDate(),5000)其中checksysDate()将检查日期是否以5000的间隔更改。但是,我想知道我们是否可以在系统日期使用$scope.$watch(仅限日期,即11月3日或4日,而不是时间)。
 任何优雅的解决方案??

谢谢,

1 个答案:

答案 0 :(得分:1)

你可以做这样的事情,但它还不错......



angular.module("test", []).controller("TimeCtrl", function($scope, $interval) {
  $scope.seconds = new Date().getSeconds();
  $scope.nowSeconds = $scope.seconds; //this one is just for presentation

  $interval(function() {
    this.seconds = new Date().getSeconds(); //you can put here day
  }.bind($scope), 5000);

  $scope.$watch('seconds', function(oldV, newV) {
    if(oldV !== newV)
        $scope.nowSeconds = newV; //you can put your reaction here - reload page
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="test" ng-controller="TimeCtrl">
  {{nowSeconds}}
</div>
&#13;
&#13;
&#13;