我正在尝试从我的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";}
});
}
}
});
在index.html上调用两个.js。登录表单作为指令附加在我页面的标题上。
我是否必须将服务作为参数传递给控制器?我怎么能这样做?
答案 0 :(得分:4)
是的,您必须将服务传递给控制器,如下所示:
app.controller('loginCtrl', ['$scope', 'loginService',
function ($scope, loginService) {
$scope.login = function(){
$scope.msgTxt = '';
$scope.login = function(user){
loginService.login(user, $scope); //call login service
};
}
}]);