Ich habe einen Controller, in den ich $ route und $ routeParams injiziere, aber wenn ich gehe, um den Wert über
zu bekommen$ route.routes.current.params.test - & gt; & gt; Strom ist undefiniert $ routeParams.test - & gt; & gt; Test ist nicht definiert
Beide Objekte scheinen korrekt ausgefüllt zu sein, wenn ich console.log ($ route) oder console.log ($ routeParams)
verwendeIch bin verwirrt. Wie könnte der Wert für console.log da sein, aber scheitern innerhalb des gleichen Controllers, aus dem ich die console.log von?
Update: Beispielcode
%Vor%In Ihrem Code werden $ route und $ routeParams wahrscheinlich asynchron aufgelöst. Wenn Sie die Objekte in der Konsole erweitern, wurden sie aufgelöst, aber sie werden nicht aufgelöst, wenn die Controller-Konstruktorfunktion ausgeführt wird.
Verwende $scope.$on('$routeChangeSuccess', function(...) { ... })
in deinem Controller und versuche dort die Routeneigenschaften zu untersuchen.
Ich möchte nur hinzufügen, dass dieses merkwürdige Verhalten mit der Konsole Aufmerksamkeit verdient: Es aktualisiert das Objekt, wenn Sie es erweitern. Sagen wir, wir haben:
%Vor%In der Konsole würden wir bekommen:
%Vor% Dies zeigt den Unterschied zwischen diesen beiden Kopien von obj
korrekt an. Wenn Sie die beiden jedoch erweitern, unterscheiden sie sich nicht:
$route
Aber zumindest konnten wir an der Konsole erkennen, dass etwas asynchron aktualisiert wird, wenn sich die Einzeilenkonsole von ihrer Erweiterung unterscheidet, zum Beispiel wenn $route
mit nur zwei Schlüssel / Wert-Paaren:
Erweitert sich in drei:
%Vor%Tags und Links angularjs angular-routing