Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用远程javascript函数并将其绑定到控制器_Javascript_Angularjs - Fatal编程技术网

调用远程javascript函数并将其绑定到控制器

调用远程javascript函数并将其绑定到控制器,javascript,angularjs,Javascript,Angularjs,我在远程服务器中有一个js文件,就是这个 function findAllModules() { return { ModuleNames: [ 'Mandate', 'AppStore', 'IdeaMart' ] }; } function allServices(moduleName) { switch (moduleName) { defaul

我在远程服务器中有一个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控制器上。如何完成这件事。

如果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');
}]);