簡體   English   中英

調用遠程javascript函數並將其綁定到控制器

[英]Call a remote javascript function and bind it to a controller

我在遠程服務器上有一個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');
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM