ui.router: wie man weglassen, ein default-parameter aus der URL
Habe ich die folgenden Zustände definiert mit $stateProvider
:
$stateProvider.state("byTeams", {url : "/team/{id}/{year}", ...})
$stateProvider.state("byPlayer", {url : "/player/{id}/{year}", ...})
Beim ändern ein Jahr, ich möchte die URL weglassen {year}
Teil der URL, ob Sie mit der Standard - (sprich 2014). In anderen Worten, wenn:
$state.go("byTeams", {year: 2014}) --> www.example.com/app/#/team/343
$state.go("byTeams", {year: 2013}) --> www.example.com/app/#/team/343/2013
Und wenn ich den Schalter auf ein byPlayer
anzeigen (vorausgesetzt das Jahr 2014 - Standard):
$state.go("byPlayer", {id: 555}) --> www.example.com/app/#/player/555/
Andernfalls die URL: www.example.com/app/#/player/555/2013
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie die docs für
params
undsquash
im$stateProvider.state()
UI-Router
beginnt zu liefern, Menge von Einstellungen, das ist einfach genial. @NewDev nur einen Gesichtspunkt: deine Anforderung scheint zu sein, "Frage für Frage". Vorstellen, dass heute jemand zu teilen oder Lesezeichen Ihre Adresse ohne Jahr... was für eine überraschung nach dem Monat, dass es nicht Ziel, wie es gemacht wird... Wenn diese Forderung kommt von einigen business-Anwender... tun Sie Ihr bestes, um es zu stoppen.