是的,你可以把它放在工廠或服務。你所要做的就是創建服務,將代碼放在那裏,然後將服務注入到控制器中。那麼你就可以從你的控制器訪問服務:
我不知道你用什麼角度語法,但這裏有一個例子:
angular.module('app', [])
.service('datepicker', datepicker)
.controller('controller', controller);
function datepicker() {
//codes
}
controller.$inject = ['datepicker'];
function controller(datepicker) {
//codes
datepicker.function(); //call some datepicker service function
}
,如果你想從訪問服務功能
查看您需要做到以下幾點:
controller.$inject = ['datepicker'];
function controller(datepicker) {
//codes
self.datepicker = datepicker;
datepicker.function(); //call some datepicker service function
}
然後在視圖中你做:
<div ng-controller='controller as ctl'>
{{ctl.datepicker.function()}}
</div>
所以控制器$ injec t = ['datepicker']將允許從視圖中調用所有這些函數嗎? – Xgongiveittoya
是啊在這裏,我會給你一個小提琴的例子:https://jsfiddle.net/ahmadabdul3/84esk49L/2/ –
@Xgongiveittoya看到更新的答案 –