AngularJS - Route - Wie man Stern (*) als Pfad abgleicht
-
12-12-2019 - |
Frage
Ich erstelle eine Ressourcen-Viewer-App, aber das Problem ist, dass ich versucht habe, eine Übereinstimmung herzustellen when("/!/:resourceUrl")
.
Es funktioniert gut, wenn die Ressourcen-URL ungefähr so aussieht /path
, aber wie kann ich so etwas wie ein machen /path/to/the/resource
.
Ich weiß nicht, wie viele Wege es dauern wird, also kann ich es nicht tun .when("/!/:path1/:path2/:path3")
.
Irgendwelche Ideen?
Lösung
Ab Angular-1.2 können Sie dies tun:
when("/!/:resourceUrl*")
http://code.angularjs.org/1.2.0/docs/api/ngRoute .$Routenprovider
Insbesondere gibt die Dokumentation das folgende Beispiel:
Zum Beispiel Routen wie /color/:color/largecode/:largecode*\/edit
wird passen /color/brown/largecode
/code/with/slashs/edit
und extrahieren:
color: brown
largecode: code/with/slashs
Andere Tipps
Ab sofort unterstützt AngularJS keine regulären Ausdrücke in Routen.
Überprüfen Sie diese Links: https://github.com/angular/angular.js/issues/918, https://github.com/angular/angular.js/pull/972