Javascript Angular JS loginController与loginService绑定

Javascript Angular JS loginController与loginService绑定,javascript,angularjs,login,Javascript,Angularjs,Login,我正试图从我的loginController调用loginService,但我收到了以下返回: ReferenceError:未定义loginService loginController.js: app.controller('loginCtrl', ['$scope', LoginCtrl]); function LoginCtrl($scope){ $scope.login = function(){ $scope.msgTxt = '';

我正试图从我的loginController调用loginService,但我收到了以下返回:

ReferenceError:未定义loginService

loginController.js:

app.controller('loginCtrl', ['$scope', LoginCtrl]);

function LoginCtrl($scope){   
    $scope.login = function(){
        $scope.msgTxt = '';
        $scope.login = function(user){
            loginService.login(user, $scope); //call login service
        };
    }
}
loginService.js:

app.factory('loginService', function($http){
    return{
        login:function(user, scope){
            var $promise = $http.post('data/user.php', user); //send data to user.php
            $promise.then(function(msg){
                if(msg.data=='success'){ scope.msgTxt = "Login Succeded";}
                else {scope.msgTxt = "Login Failed";}
            });
        }
    }
});
这两个.js都在index.html上被调用。登录表单作为指令附加在我的页面标题上


我是否必须将服务作为参数传递给控制器?我该怎么做?

是的,您必须将服务传递给控制器,如下所示:

app.controller('loginCtrl', ['$scope', 'loginService',
  function ($scope, loginService) {   
    $scope.login = function(){
      $scope.msgTxt = '';
      $scope.login = function(user){
          loginService.login(user, $scope); //call login service
      };
    }
}]);

是的,您必须将服务传递给控制器,如下所示:

app.controller('loginCtrl', ['$scope', 'loginService',
  function ($scope, loginService) {   
    $scope.login = function(){
      $scope.msgTxt = '';
      $scope.login = function(user){
          loginService.login(user, $scope); //call login service
      };
    }
}]);

谢谢jessepinho,它就像一个符咒;)等待投票+1=)谢谢jessepinho,它就像一个魅力;)等待投票+1=)