/ / Permitir la entrada a la vista desde stateProvider - angularjs, jwt

Permitir la entrada a la vista desde stateProvider - angularjs, jwt

Estoy trabajando con JWT logon y angularjs, y yo¿quiere ver si puedo guardar la sesión y validar desde mi app.js y dejar a la vista si su sesión es válida, de alguna manera sale de las propiedades $ state evaluadas antes de mostrar la vista?

Algo como esto:

  .state("dashboard.notifications",{
templateUrl:"views/ui-elements/notifications.html",
url:"/notifications"
session: if(session = true){
$state.go("notifications");}
else{$state.go("auth");}}

})

Respuestas

1 para la respuesta № 1

Puedes usar $stateChangeStart o $stateChangeSuccess evento para hacerlo. Por ejemplo:

$rootScope.$on("$stateChangeStart", function(e, toState, toParams, fromState, fromParams) {
if(fromState.name=="dashboardNotification" && $rootScope.session != true) {
$state.go("auth");
e.preventDefault();
}
});