【发布时间】:2014-11-23 00:16:44
【问题描述】:
我正在重构我正在编写的 Web 应用程序,并希望将控制器移入工厂(如果可能是正确的结构),以便我可以将它包含在整个应用程序的不同控制器中。我似乎无法理解应该如何使用 $timeout。我还想通过在偏移量中传递一个函数来删除冗余代码。
必修课:我是 AngularJS 的新手。
App.controller('TimeCtrl', ['$scope','$timeout', function($scope, $timeout){
// Set and update clocks
var update = function(){
$scope.est_time = moment.utc().add(-5, 'hours').format('h:mm:ss A');
$scope.cst_time = moment.utc().add(-6, 'hours').format('h:mm:ss A');
$scope.cet_time = moment.utc().add(+1, 'hours').format('h:mm:ss A');
$scope.ist_time = moment.utc().add(+5.5, 'hours').format('h:mm:ss A');
$timeout(update, 1000);
};
update();
}]);
是否可以将其移至工厂以便我最终可以在我看来使用{{Time.getTime(-5)}}?或者甚至只是 Time.getTime() 在控制器中?
我想出了这个。虽然它有效,但我不确定如何合并 $timeout 功能。
App.factory('Time', ['$timeout', function($timeout){
return {
getTime: function (tz){
return moment.utc().add(tz, 'hours').format('h:mm:ss A');
}
};
}]);
谢谢!
【问题讨论】:
标签: javascript angularjs web-applications