Ich benutze Angular Ui-Router und habe eine Auflösungsfunktion für einen meiner Zustände eingerichtet, bevor der Controller initialisiert wird. Ich erhalte einige Daten, durchlaufe sie und passe sie der URL stateParam an, und wenn eine Übereinstimmung gefunden wird, löse das Versprechen an den Controller und gebe das Objekt in der Zusage zurück. Das funktioniert alles gut.
Wenn jedoch keine Übereinstimmung gefunden wird, ich will einfach in einen anderen Zustand umgeleitet werden durch das Versprechen, die Ablehnung und Lauf $state.go('state');
Ganz einfach:
deferred.reject();
$state.go('state',{params: 'param'});
Aber dies scheint nicht zu mach alles. Der Controller hängt einfach, und ich bekomme keine Konsolenfehler oder irgendetwas. Irgendwelche Ideen?
Können Sie mehr Code bereitstellen? Liegt das in einer '$ Digest'-Schleife? – rtcherry
Entschuldigung, jetzt klarer zu sein ... das ist in meiner App-Konfiguration für $ stateProvider, es ist in einer Entschlossenheit für einen meiner Zustände. –