2016-03-28 5 views
0

Ich habe einen Callback für Statusänderung, die in denselben Status umleitet.Wenn Benutzer die URL ändert und die falsche Ansicht gerendert wird

Es funktioniert von Anfang an, wenn ein Benutzer eine neue Registerkarte öffnet und eine Route mit einem beliebigen URL-Anker eingibt. Der Benutzer sieht die Ansicht aus dem Rückruf, aber , wenn Benutzer manuell den Anker ändert und drücken Sie die Eingabetaste dann der Rückruf funktioniert in der Hälfte - Ankerwert wird wiederhergestellt, aber der Benutzer sieht die Ansicht für seine Route nicht vom Anker.

Wenn Sie die Seite neu laden, verschwindet der "Bug".

fand ich eine Abhilfe:

if (toState.name != 'wsConnect') { 
     console.log("change path!!"); 
     $interval(function() { 
      $state.go('wsConnect'); 
      $location.path('/connect'); 
     }, 1, 1); 
    } 
+1

Bitte überprüfen [Wie ein Minimal, komplett zu erstellen und prüfbare Beispiel] (http://stackoverflow.com/help/mcve) und Ihre Antwort zu verbessern, so dass wir eine bessere Vorstellung davon haben, was passiert in Ihrem Code. –

Antwort

1

Vielleicht einmal mit $viewContentLoading, die die Sicht beginnt Laden gefeuert prüfen, bevor das DOM gerendert wird. Der '$ rootScope' überträgt das Ereignis.

https://github.com/angular-ui/ui-router/wiki#view-load-events

+0

Thx, viewContentLoaded not Loading sollte verwendet werden. Außerdem musste ich den Zustand auch manuell einstellen. –

Verwandte Themen