我在远程服务器上有一个js文件,就是这样。
function findAllModules() {
return {
ModuleNames: [
'Mandate',
'AppStore',
'IdeaMart'
]
};
}
function allServices(moduleName) {
switch (moduleName) {
default :
return {
serviceNames: [
'getPort',
'gethost',
'getDiscoveryApiTimeout'
]
}
}
}
function getServiceData(moduleName, serviceName){
return {
moduleName : moduleName,
serviceName : serviceName,
data : {
port : 1122
}
}
}
function updateServiceData(moduleName, serviceName, data){
return "Done " + moduleName + serviceName + data
}
我想调用这个文件的getServiceData函数。那应该绑定到angularjs控制器。我怎样才能完成这件事。
答案 0 :(得分:1)
如果JavaScript文件将这些函数添加到全局范围,那么您可以将这些全局方法包装在服务中
var app = angular.module('app', []);
app.service('dataService', [function(){
var getServiceData = function(moduleName, serviceName){
return window.getServiceData(moduleName, serviceName);
};
return {
getServiceData: getServiceData
};
}]);
在您的控制器中,您将注入服务
app.controller('myController', ['$scope', 'dataService', function($scope, dataService){
$scope.serverData = dataService.getServerData('moduleName', 'serviceName');
}]);