Qualcuno sa come modificare lo stato del router senza modificare l'url? Come mostra il codice sottostante; in alcuni casi l'utente deve essere reindirizzato su 403 o 401 stati. Mi piacerebbe essere in grado di fare questo reindirizzamento senza cambiare l'URL.Stato cambio router UI senza modificare l'Url
saluti, klmdb
// make sure authGetCurrent has ran before routing starts
$rootScope.$on("$locationChangeSuccess", function(event, next) {
event.preventDefault();
AuthService.loadCurrentAuth().then(function(){
$urlRouter.sync();
}, function(){
console.log("BIG ERROR!!!");
});
});
// Configures $urlRouter's listener *after* your custom listener
$urlRouter.listen();
$rootScope.$on("$stateChangeStart", function(event, toState, toParams, fromState, fromParams) {
var requiredLogin = (toState && toState.data ? toState.data.requiredLogin : false),
requiredGroupRights = (toState && toState.data ? toState.data.requiredGroupRights : false); // require the user to have at least one of these rights in the current group
if (requiredLogin && !AuthService.isLoggedIn()) {
event.preventDefault();
$state.transitionTo('401');
return;
}
if(requiredGroupRights){
var i,
hasRight = false;
for(i=0;i<requiredGroupRights.length;i++){
if(GroupService.checkGroupRights(toParams.groupId, requiredGroupRights[i])){
hasRight = true;
break;
}
}
if(!hasRight){
event.preventDefault();
$state.transitionTo('403');
return;
}
}
});
grazie, questo mi aiuta molto! – klmdb
Questo non funziona per me. –