У меня проблемы с угловыми контроллерами и услугами, и я не могу заставить их хорошо играть вместе.Угловой контроллер проверяет сервисное обещание обновить View
У меня есть API-интерфейс для входа в систему, и я хочу, чтобы контроллер знал, что произошел неудачный вход в систему и обновили представление соответственно.
Я попытался возвратить логическое из обещания логина Parse от службы, но контроллер не видит этого, и когда я устанавливаю переменную равную сервисной функции, я получаю «undefined».
var app = angular.module('myApp', []);
app.controller('myController', ['scope', 'userService', function($scope, userService){
$scope.ctrlFunc = function(){
var login = userService.login($scope.username, $scope.password);
//$scope.username & password are defined in other section
console.log(login); //returns 'undefined'
if(login == true){
// go to other function
}
else{
// do $scope changes to view
}
};
}]);
app.service ('userService', function(){
this.login = function(){
Parse.User.logIn(username, password,{
success: function (user){
return true;
},
error: function (error){
return false;
}
})
};
});
Мой контроллер был раздутым логикой, поэтому я попробовал разгрузить его на службу. Легче сказать, чем сделать для новичка угловой ...
Спасибо! Все еще пытаясь обернуть голову обещаниями, не нажимал на меня, но этот код помогает понять все немного больше. – PizzaPleb
Возможно, это может помочь вам немного http://andyshora.com/promises-angularjs-explained-as-cartoon.html – Chandermani
Отлично подходит для моей ситуации, спасибо. – PizzaPleb