Ich habe eine eckige App. Ich benutze ui-router, um meine Zustände zu verwalten. Ich muss eine gemeinsame API aufrufen, um zu überprüfen, ob der Benutzer die Webseite sehen darf oder nicht. Gibt es einen gemeinsamen Ort, an dem ich die API aufrufen kann und erst dann zu dem Zustand übergehen kann, für den der Benutzer anfragt?Angular - Wie überprüft man, ob der Benutzer erlaubt ist, bevor die Ansicht geladen wird?
Mit meiner aktuellen Implementierung wird die Ansicht teilweise angezeigt und dann passiert die Umleitung.
//app.js
$rootScope.$on('$stateChangeSuccess', function(evt, toState) {
if(toState.name === 'login' || toState.name === 'payment')
return;
userService.isBillingCleared().then(function() {
//redirect to toState
}, function() {
$state.go('payment');
});
});
Wie verhindere ich das?
vielleicht $ 'routeChangeStart' anstelle von' $ stateChangeSuccess' könnte helfen – Naigel