Ich bin am Ende meines Verstandes, Nerven, alles, für die letzten 4 Stunden versuche ich zu debuggen und zu lesen im ganzen Internet, was das Problem damit sein könnte.
Also arbeite ich an einer mobilen Anwendung und meine Logik ist wie folgt:
In der Hauptansicht nach Hause werte ich die obigen Aussagen aus, zuerst zeige ich ihm die Liste, wenn er localStorage-Daten hat, dann überprüfe ich online und leite umleiten, falls nötig.
Immer wenn ich zwei $ state- oder $ locations habe, schleift . Wie der Browser fast einfriert, Glück ist es Chrome. und ich bekomme Cannot call method 'insertBefore' of null
. Von dem, was ich lese, ein bekanntes angular.ui Router-Problem, wenn schlecht oder ein anderes mystisches Problem verwendet.
Einige Code:
Diese Event-Emitter und -Empfänger, die ich bei der Rückgabe meiner StateManagement Services anrufe
%Vor%. . .LOGIC
%Vor%... gebe meinen Service zurück
%Vor%Und das ist in meinem Controller:
%Vor%Was mache ich falsch?
Ich habe die Emitter getestet, meine check () -Funktion, die alle Emitter erzeugt, ich habe mehrere Kombinationen auf ui.router ausprobiert und ich bin kläglich gescheitert:).
Ich hatte das gleiche Problem mit dem gleichen Anwendungsfall, es ist ein Fehler mit ui Router, aber darauf warten, dass es die Zustandsänderung vor dem Übergang beendet, löste es:
if (webAPIAuth.isLoggedIn()) {
$scope.$on('$stateChangeSuccess', function () {
$state.go('dashboard');
});
}
Tags und Links javascript angularjs angularjs-scope angular-ui-router eventemitter