AngularJS: Lesen Sie die route param von innerhalb der controller
Wie kann ein parameter aus einer URL gelesen werden, innerhalb einer AngularJS-controller?
Sagen wir, ich habe eine URL wie http://localhost/var/:value
und ich möchte den Wert in einer Variablen gespeichert werden, die innerhalb der controller für die /var/:value
URL.
Habe ich versucht, mit $routeParams.value
und $route.current.params.value
aber $routeParams
ist nicht definiert an den Anfang und das $route
funktioniert nicht.
Was meinst du mit "$routeParams ist undefiniert am Anfang und $route funktioniert nicht"? Könnten Sie teilen, code, wo Sie versucht haben, machen Sie diese Arbeit? $Route.aktuelle und $routeParams geben sollte, die richtigen Ergebnisse in einer controller-provider, die Sie eingerichtet haben, Routen und injiziert Abhängigkeiten in einen controller.
InformationsquelleAutor ctitze | 2013-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass Sie wahrscheinlich Spritzen
$routeParams
oder$route
im controller ausgeführt wird, bevor eine route änderung aufgetreten ist, z.B. Ihre Haupt - /master - /page-controller.Wenn Sie injizieren
$routeParams
in einer Steuerung für eine bestimmte Strecke (angegeben durch dencontroller
Eigenschaft bei der Definition der route), dann wird es funktionieren, sonst bist du wahrscheinlich besser hören zu den verschiedenen Veranstaltungen der route-service-Sendungen.Versuchen, ändern Sie Ihren code so verwenden
Wenn Ihre Kunden trifft die url direkt, ohne Sie zu lassen AngularJS behandeln Sie das routing, dann werden Sie nicht in der Lage sein zu verwenden
$routeParams
.$routeParams
nur funktionieren, wenn Sie$routeProvider.when(/movies/:genre, { ... })
haben, sonst haben Sie zu extrahieren Sie die Werte manuell ein. Frage: sind Sie mit AngularJS routing oder sind Sie nur auf der Suche nach einem Weg zum extrahieren der Werte aus der url?Ich bin mit AngularJS für das routing, denn ich will laden verschiedene
templateUrls
in meinemng-view
(Winkel-express-Samen). Aber danke für die Antwort, es scheint, dass ich brauche, um mein problem zu lösen mit einem anderen Ansatz.Hatte das gleiche Problem, ich habe versucht, die Referenz $route.aktuelle.controller und es war undefiniert in einem controller auf die "master" - Seite vor dem eigentlichen ng-view-route bevölkert war. Danke für die Erklärung!
InformationsquelleAutor Martin
Voraussetzungen: stellen Sie Sicher 'ngRoute' in Ihrem app-Modul
Funktion als:
HTML-Ansicht:
InformationsquelleAutor adswebwork