如何在angularjs中传递控制器中的多个服务?

时间:2014-05-05 10:35:48

标签: angularjs dependency-injection angular-services

我有一个名为authService的服务。我从LoginController中调用它,如下所示:

angular.module('myApp').controller('LoginController',function($q, $scope, $location,$routeParams, $window, authService) {//some code here});

这很好。

现在我有另一个名为regService的服务,就像:

angular.module('myApp').factory('regService ', function ($window, $q, $rootScope) {//some code here});

现在在LoginController中如何从regService调用函数?

3 个答案:

答案 0 :(得分:0)

就像authService一样,你只需要添加regService。 AngularJS将根据名称自动绑定服务。您可能希望了解有关依赖注入的更多信息 - https://docs.angularjs.org/guide/di

angular.module('myApp').controller('LoginController',function($q, $scope, $location,$routeParams, $window, authService, regService) {//some code here});

答案 1 :(得分:0)

只是做:

angular.module('myApp')

.controller('LoginController', function($q, $scope, $location, $routeParams, $window, authService, regService) {
});

答案 2 :(得分:0)

现有的答案在技术上都是正确的,但如果您决定在将来的任何时候缩小/验证您的代码,那么这些解决方案最终会破裂。

为防止这种情况发生,John Papas AngularJS风格指南赞成在Y091中使用std::copy服务,如下所示:

$inject