Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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
Angularjs Angular服务是一个require js模块,没有获得注入的依赖项_Angularjs_Requirejs_Restangular - Fatal编程技术网

Angularjs Angular服务是一个require js模块,没有获得注入的依赖项

Angularjs Angular服务是一个require js模块,没有获得注入的依赖项,angularjs,requirejs,restangular,Angularjs,Requirejs,Restangular,我有一个模块“global.services”,在其中我注册了一个服务“Restservices” 我的“RestService”也是一个模块 (function(define, angular) { "use strict"; define(function() { var restService = function($rootScope, Restangular) { // body... return { getData

我有一个模块“global.services”,在其中我注册了一个服务“Restservices”

我的“RestService”也是一个模块

(function(define, angular) {
"use strict";

define(function() {
    var restService = function($rootScope, Restangular) {
        // body...

        return {
            getData: function(arg) {
                // body...
                $rootScope.$broadcast('gettingData');
                return Restangular.oneUrl('listPanel');
            }
        }
    };
    return restService;
 });
}(define, angular));
在上述服务中,$rootScope和restanglar都未定义。
请告诉我如何在这方面注入依赖项。

我发现$rootScope和restanglar未定义的原因

工厂注册是完美的,但当我试图在不同模块的控制器中使用它时,我注入的是“global/services/restServices”,而不是“global/services/services”,后者是实际的服务模块

以前的代码:

(function(define, angular) {
define(['global/services/restServices'], function(RestServices) {
    var HeaderController = function($scope, $rootScope, $translate, $location, $document, RestServices) {

        var user_modules = window.SESSION.getModules(),
            modules = [];

        angular.forEach(user_modules, function(moduleName) {
            modules.push(window.CONFIG.MODULES[moduleName]);
        });

        RestServices.getData('webAppsData.json').get().then(function(d) {
            if (d) {
                if (d.response) {
                    $scope.webApps = d.response;
                } else {
                    $scope.webApps = [];
                }
            } else {
                $scope.webApps = [];
            }
        });
        $scope.title = "Tumbler";
        $scope.modules = modules;
    };
    return ["$scope", "$rootScope", "$translate", "$location", "$document", "RestServices", HeaderController];
})
}(define, angular));
现行代码(工作代码):


因此,只需注入模块并使用其服务即可

也发布html代码,您是否添加了所有必需的文件引用?
(function(define, angular) {
define(['global/services/restServices'], function(RestServices) {
    var HeaderController = function($scope, $rootScope, $translate, $location, $document, RestServices) {

        var user_modules = window.SESSION.getModules(),
            modules = [];

        angular.forEach(user_modules, function(moduleName) {
            modules.push(window.CONFIG.MODULES[moduleName]);
        });

        RestServices.getData('webAppsData.json').get().then(function(d) {
            if (d) {
                if (d.response) {
                    $scope.webApps = d.response;
                } else {
                    $scope.webApps = [];
                }
            } else {
                $scope.webApps = [];
            }
        });
        $scope.title = "Tumbler";
        $scope.modules = modules;
    };
    return ["$scope", "$rootScope", "$translate", "$location", "$document", "RestServices", HeaderController];
})
}(define, angular));
(function(define, angular) {
define(['global/services/services'], function() {
    var HeaderController = function($scope, $rootScope, $translate, $location, $document, RestServices) {

        var user_modules = window.SESSION.getModules(),
            modules = [];

        angular.forEach(user_modules, function(moduleName) {
            modules.push(window.CONFIG.MODULES[moduleName]);
        });

        RestServices.getData('webAppsData.json').get().then(function(d) {
            if (d) {
                if (d.response) {
                    $scope.webApps = d.response;
                } else {
                    $scope.webApps = [];
                }
            } else {
                $scope.webApps = [];
            }
        });
        $scope.title = "Tumbler";
        $scope.modules = modules;
    };
    return ["$scope", "$rootScope", "$translate", "$location", "$document", "RestServices", HeaderController];
})
}(define, angular));