2016-03-31 5 views
2

Ich habe keine Antwort im Internet finden, damit ich hierher gekommen, um Hilfe zu bitten:Winkelführung: lösen vs. Controller

Was ist die beste Praxis zu verwenden, wenn ein Zustand, in AngularJS zu ändern?

Die erste, die ich fand, ist ui.router mit der resolve-Methode. Sie können dann Daten in den Controller injizieren.

Auf der anderen Seite, nach johnpapa Richtlinien, habe ich festgestellt, dass Sie auch die activate() Methode verwenden können.

Also, was ist der beste Weg, um Daten zu erhalten (lassen Sie sich eine Liste von Benutzern sagen), wenn sie auf den Staat /users gehen: Verwenden Sie die activate() Methode, um die Liste der Benutzer zu sammeln, oder die resolve in dem Routing verwenden die injizieren Liste der Benutzer?

Antwort

2

Obwohl diese Frage scheint auf der Grundlage von Meinung zu sein, würde ich empfehlen, eine Auflösung für einen Zustand zu verwenden, wenn die angeforderten Daten absolut notwendig für den Zustand angezeigt werden soll. Wenn die Daten nicht geladen werden, wird der Error-Handler automatisch in den Fehlerzustand geleitet.

Wenn Sie die Daten in Ihrem Controller erhalten, müssen Sie die Fehlerbehandlung/-umleitung selbst vornehmen und zu blinkenden Bildschirmen/merkwürdigem Verhalten führen, da die Anfrage erst fertig gestellt werden muss, während die Vorlage bereits geladen ist.

+0

Ich bin tatsächlich auf der Suche nach dieser Art von Antworten, also danke! – trichetriche

Verwandte Themen