是的,你可以把它放在工厂或服务。你所要做的就是创建服务,将代码放在那里,然后将服务注入到控制器中。那么你就可以从你的控制器访问服务:
我不知道你用什么角度语法,但这里有一个例子:
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看到更新的答案 –