Я работаю над кодом angularjs, где я создал фабричный метод для перенаправления пользователя на страницу профиля после успешного входа в систему и обновил переменную flag в фабричном методе.Свойство resol, которое я прикрепил к маршруту, не работает должным образом, и кажется, что переменная islogged не читает значение, полученное из localstorage.
.when('/Login',{
templateUrl: "/views/login.html",
controller: "logctrl",
})
.when('/Profile',{
templateUrl: "/views/profile.html",
resolve: ["authService",function(authService){
return authService.checkstatus();
}]
});
});
app.factory("authService",function($location){
return {
"islogged" : localStorage.getItem("islog"),
checkstatus :function() {
if(this.islogged)
return true;
else
$location.path(['/Login']);
return false;
}
}
});
Это контроллер для входа в систему:
app.controller('logctrl',function($scope,$http, $location){
localStorage.setItem("islog",false);
$scope.log = function(){
var uname = $scope.username;
var pass = $scope.password;
var logobj = {
"username" : uname,
"password" : pass
};
$http.post("http://localhost:3000/sign",logobj).then((resp)=>{
$location.url(resp.data);
localStorage.setItem("islog",true);
}).catch((err)=>$location.url("/"));
}
});