我试图谷歌这个,但我没有得到我正在寻找的答案。我有两个单独的模块(在单独的html页面 - 这些执行完全不相关的任务)。我创建了一个授权服务并将其与模块1相关联,我通过DI在我的控制器中使用这个$ auth服务。现在我想在module2中使用相同的服务。我怎样才能做到这一点? 这就是服务的样子:
module1.service('$authService', function($http) {
this.authorise = function(userid,accessKey) {
// logic for performing auth
};
});
答案 0 :(得分:5)
您应该创建第三个公共模块来托管authService
,并在其他两个模块中添加依赖项。
angular.module("Auth", [])
.service("authService", function($http){ });
并且,在另一个文件/模块/应用程序中:
angular.module("module1", ["Auth"])
.controller("MainCtrl", function(authService){
});
(与第二个模块相同:angular.module("module2", ["Auth"])
)
答案 1 :(得分:1)
创建第二个模块时,说module2提供了module1的依赖,如
angular.module('module2',['module1']);
现在您可以将module1的服务用于module2中,与在module1中使用的服务相同。