Ich habe einen Dienst erstellt, der den Benutzeranmeldezustand überprüft (den Benutzer anmelden, wenn ein Token existiert, andernfalls auf die Anmeldeseite umleiten).AngularJS - routeProvider Auflösungsaufruf einer Servicemethode
Ursprünglich habe ich diesen Dienst über den routeProvider-Befehl aufgerufen - das funktioniert einwandfrei einmal, aber da Angularjs-Dienste Singleton sind, würde der Test nicht für aufeinanderfolgende Aufrufe ausgeführt werden.
Ich versuchte dann, den Test in eine Methode innerhalb des zurückgegebenen Objekts zu verschieben, aber ich kann nicht scheinen, Ballen zu sein, um den RouteProvider aufzulösen, um eine bestimmte Methode eines Dienstes aufzurufen (was in gewisser Weise sinnvoll ist).
Frage ist, wie stelle ich sicher, dass mein Test jedes Mal ausgeführt wird, wenn die Route geladen wird? In der Egghead-Videoserie (http://www.egghead.io/video/rbqRJQZBF3Q) verwendet er eine Funktion, die dem Controller zugewiesen ist, aber dies scheint nicht die richtige Lösung für eine Produktions-App zu sein (ich möchte keine Funktion einem bestimmten Controller und I zuweisen) glaube, die Angularjs Abhängigkeitsinjektion wird nicht funktionieren).
Danke, das funktioniert. obwohl es immer noch wie eine Arbeit fühlt. Erwartete eine einfachere Lösung :( –
Wie verwende ich zurückgegebene response.data? –
In Ihrem Controller, in diesem Fall MainCtrl, injizieren Sie $ route als Abhängigkeit und $ route.current.locals.myVar wird die Daten enthalten. – ghiden