0
var login_app = angular.module('login_app',[]);


login_app.factory('login_service', function($http) {
   return {
        login: function() {
             //return the promise directly.
             return $http.get('/service/login')
                       .then(function(result) {
                            //resolve the promise as the data
                            return result.data;
                        });
        }
   }
});  

login_app.controller('login_controller',
                    ['$scope',
                     function($scope,login_service){

                      $scope.login_username = "";
                      $scope.login_password = "";
                      $scope.remember_login = false;
                      $scope.login_button_action = function(){
                                                    login_service.login();
                                                 }

                    }]);

我有一个登录表单,它在这个控制器的范围内并且工作正常。每当我按下登录按钮时,都会通过 ng-click 指令调用 login_button_action。

my problem is that I keep getting this error in my JavaScript console.

ReferenceError: login_service is not defined

我的控制器使用该服务的 wya 是否有问题?

4

1 回答 1

2

您需要将 login_service 添加到上述定义中:

login_app.controller('login_controller', ['$scope','login_service',
    function($scope,login_service){
        // Your code using the service.
}]);

当然...服务脚本文件需要在文档中链接。

为了完整......如果您不考虑缩小或类似的事情,您根本不必这样做。在这种情况下,它可以是

 login_app.controller('login_controller', function($scope, login_service){
      // Your code using the service.
 }]);
于 2013-10-30T12:22:56.210 回答