Kann ui-view nicht laden, selbst wenn sich der Status ändert

8

Ich verwende den Angular UI Router. Bitte finden Sie den Code unten.

index.html

%Vor%

RouteMainController.js

%Vor%

Login.html

%Vor%

LoginController.js

%Vor%

Startseite.html

%Vor%

Test1.html

%Vor%

Ich kann mich erfolgreich anmelden und den Menü-Tab mit "Hallo Welt" Link erhalten. Ich möchte die Menüleiste immer anzeigen und den folgenden Text dynamisch ändern.

Mein Problem ist, dass wenn ich auf "Hello World" Link geklickt habe, erwarte ich Foo anstelle von "Hallo Welt" Link, aber es funktioniert nicht. Auch wenn es Zustände (URL) ändert, wird die aktuelle Ansicht nicht geladen.

Bitte helfen Sie mir dabei.

    
user1843970 05.12.2017, 02:55
quelle

1 Antwort

7

Es gibt ein strukturelles Problem mit Ihrem Code. Der Status requestdetail ist ein untergeordneter Status von home.requestsummary und erfordert daher eine ui-view in der Vorlage von home.requestsummary state, an die HTML gebunden werden kann.

Gemäß Ihrem Code gibt es keine ui-view in Test1.html . Um sicherzugehen, dass es kein anderes Problem gibt, können Sie versuchen, ui-view in Test1.html hinzuzufügen und die Statuskonfiguration wie folgt zu ändern:

%Vor%

Überprüfen Sie nach dieser Änderung, ob die Überschrift Foo in der Ansicht angezeigt wird. Wenn es angezeigt wird, ist alles in Ordnung mit Ihrem Code. Jetzt ist der zweite Teil, um die Überschrift Foo an der gleichen Stelle zu laden, wo der Link Hallo Welt angezeigt wird.

Dazu müssen Sie das Ansichtsziel ändern, da homedetailview in Home.html vorhanden ist. Dies ist der übergeordnete Status von home.requestsummary . Daher müssen Sie die Statuskonfiguration für home.requestsummary.requestdetail wie folgt ändern:

%Vor%

Dies wird absolut auf die homedetailview im Status home abzielen, und Ihre Vorlage für home.requestsummary.requestdetail wird dort angezeigt.

    
31piy 07.12.2017, 05:58
quelle