Javascript Angular JS loginController与loginService绑定
我正试图从我的loginController调用loginService,但我收到了以下返回: ReferenceError:未定义loginService loginController.js: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 = '';
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=)