2014-02-26 47 views
1

我在遠程服務器中有一個js文件,就是這樣。調用遠程JavaScript函數並將其綁定到控制器

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控制器。我怎樣才能完成這件事。

回答

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'); 
}]); 
相關問題