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是否有问题?
答案 0 :(得分: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.
}]);