Ho un app angolare JS con un back-end vele JS, e all'interno dei percorsi (in app.js) ho:
.state('app.detail', {
url: "/detail",
views: {
'menuContent' :{
templateUrl: "templates/detail.html",
controller: 'UserUpdateCtrl',
resolve: {
auth: ["$q", "userData", function($q, userData) {
var userInfo = userData.getUserInfo();
if (userInfo) {
return $q.when(userInfo);
} else {
return $q.reject({ authenticated: false });
}
}]
},
}
}
})
(questo sta seguendo this guide)
Ora sullo stesso file, ho il $ routeChangeError:
.run(function($rootScope) {
$rootScope.$on("$routeChangeError", function(event, current, previous, eventObj) {
if (eventObj.authenticated === false) {
$location.path("/login");
}
});
Quando debug su chrome, vedo che la funzione è definita, ma non chiamata.
Cosa mi manca qui?
forse non hai < ui-view >? –
Sicuro che vuoi '$ stateChangeError' ... – ivarni
Ok sta chiamando' $ stateChangeError' ma la variabile 'eventObj.authenticated' non è definita (eventObj:' Object {name: "", url: "^", visualizzazioni: null , abstract: true} ') – Asaf