我正在使用$ timeout服务,我想知道为什么我的主菜单.date.raw'变量每秒都不会更新。有什么想法吗?
GET http://localhost:59845/oncologyPatientsController/GetData?id=1234567 404 (Not Found)
send @ jquery-1.10.2.min.js:23
x.extend.ajax @ jquery-1.10.2.min.js:23
(anonymous function) @ Create:157
x.event.dispatch @ jquery-1.10.2.min.js:22
v.handle @ jquery-1.10.2.min.js:22
答案 0 :(得分:1)
使用$interval
代替,因为$timeout
将在计时器结束时触发一次该函数,$interval
将在计数器完成时触发该函数,并且它将在计数器处再次启动,直到你清除它。
angular.module('MyApp', [])
.controller('MainCtrl', ['$interval',function($interval){
var mainCtrl = this;
mainCtrl.date = {};
$interval(function(){
mainCtrl.date.raw = new Date();
}, 1000);
}]);
答案 1 :(得分:1)
$timeout
将仅触发一次。
如果您想每隔n毫秒运行一次函数,请使用$interval
var app = angular.module('App', [])
app.controller('Ctrl', function($scope, $interval){
$scope.date = {};
$interval(function(){
$scope.date.raw = new Date();
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="App" ng-controller="Ctrl">
{{date.raw | date:'yyyy-MM-dd HH:mm:ss'}}
</body>