我有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移动到子模块中?
答案 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) {
}]);