角度工厂和未知提供程序错误

时间:2013-12-24 11:04:59

标签: angularjs

我有2个Angular模块。 rootModule:

var myModule = angular.module('rootModule', []);

myModule.factory('mySharedService', function($rootScope) {
    var sharedService = {};
    return sharedService;
});

myModule.factory('getMonthlyHistoryService', function ($http, $q) {
    var getMonthlyHistoryService = {};
    return getMonthlyHistoryService;
});

function RandomScaleController($scope, $rootScope, sharedService) {
}

RandomScaleController.$inject = ['$scope', '$rootScope', 'mySharedService'];

和子模块:

var modal = angular.module('modal', ['rootModule', 'ui.bootstrap']);
function MomController($scope, $http, sharedService, getMonthlyHistoryService) {
}
MomController.$inject = ['$scope', '$http', 'mySharedService','getMonthlyHistoryService'];

一切正常,但如果我将getMonthlyHistoryService移动到子模块中,我得到错误:未知提供者:getMonthlyHistoryServiceProvider< - getMonthlyHistoryService。

如何将getMonthlyHistoryService移动到子模块中?

1 个答案:

答案 0 :(得分:1)

应如何创建模块引用,将多个子模块链接\导入父模块

你做了相反的事情。您已将父模块注入子模块。现在,如果您将服务从父级移动到子级,则此模块元素可以访问此服务。

尝试 var myModule = angular.module('rootModule', ['modal']);

var modal = angular.module('modal', ['ui.bootstrap']);

还使用module.controller语法

声明控制器
modal.controller('MomController',['$scope', '$http', 'mySharedService','getMonthlyHistoryService',function($scope, $http, sharedService, getMonthlyHistoryService) {

}]);