Ich habe gerade eine Anfrage von unserem QA-Team bekommen, was ich lächerlich finde. Hier geht es: Angenommen, Sie befinden sich bereits in der eckigen App auf dem Status 'ungefähr' und wenn Sie im oberen Menü erneut auf die Status-URL 'about' klicken, möchten Sie, dass die Seite 'about' neu geladen wird. Die about
Seite holt keine Daten von irgendwo her, ein Nachladen ist übrigens gleichbedeutend mit einem Blinzeln.AngularJS mit ui.router: Seite neu laden, wenn man auf denselben Statuslink klickt
Für den Staat config in meinem Winkel App ist wie folgt:
.state('about', {
url: '/about',
templateUrl: '/path/to/about.html',
controller: 'aboutCtrl as aboutView'
});
Und in den oberen Menüs, haben wir einen Link zu diesem Zustand zeigen:
<a ui-sref="about">About</a>
ich viele Dinge ausprobiert haben Um dies zum Laufen zu bringen: Klicken auf den Link löst das erneute Laden desselben Status aus.
Dinge wie $state.go('about', {}, {reload: true});
oder $state.transitionTo('about', {}, {reload: true});
funktionieren nicht, weil die Links statisch sind.
Ein letzter Ausweg, den ich derzeit versuche, ist das Manipulieren der Reload-Sache in der run
Phase von Angular durch Hören auf '$stateChangeSuccess'
Ereignis, aber ich glaube nicht, dass es funktioniert, weil es keine Zustandsänderung überhaupt gibt, wenn Sie auf klicken die 'about'
Verbindung, während Sie in diesem Zustand sind.
Gibt es Möglichkeiten, dies zu umgehen? Danke
"Ich habe eine Anfrage von unserem QA-Team, das ich denke, klingt lächerlich" - made my day ty – scniro
froh, bekommt man ein gutes Lachen. Ich denke, das ist eine lächerliche Anfrage und ich denke, es ist unmöglich mit ui.router zu tun. Ich warte auf einen Experten, um mich aufzuklären. Danke – TonyGW
Ich denke nicht, dass das erneute Laden der Seite über (die ich vermute, ist statisch) ein guter Weg aus mehreren Gründen ist - Ihre App sollte nur dem Benutzer anzeigen, dass sie bereits auf dieser Seite sind. Ein gutes Beispiel ist die Animation von Material Design, wenn Sie immer wieder auf dieselbe Registerkarte klicken - https://material.angularjs.org/latest/#/demo/material.components.Tabs – JaKXz