0
我做了古典begginer錯誤,並把我所有的業務邏輯到我的控制器,而不是使用服務。Datepicker作爲服務工廠角
我有一堆功能,現在我想把它放到一個服務中,並將其注入到我的控制器中。 一般來說,有沒有這樣做的好方法?
例如,我有一個日期選擇器,它是從今天開始的兩週內設定的默認日期。我在控制器中解決了這個問題,如
$scope.dt=function(){
$scope.dt=new Date();
$scope.numberOfDaysToAdd=14;
$scope.dt=$scope.dt.setDate($scope.dt.getDate()+$scope.numberOfDaysToAdd);
而在我的html ng-model='dt'
。 我現在想要採取這種邏輯並將其放入服務中。我想過使用一個工廠,我做了這樣的事情:
app.factory('Datepicker',[function(){
var numberOfDaysToAdd=14;
var addDays=new Date();
addDays.daysToAdd=function(){
addDays = addDays.setDate(addDays.getDate()+numberOfDaysToAdd);
return addDays;
};
return addDays;
}]);
,並在控制器
$scope.dt = function(){
addDays.daysToAdd()
};
因爲我希望這是行不通的。這裏有什麼問題?
乾杯