Da hier beschrieben wurde, müssen Sie den benutzerdefinierten Variablentyp deklarieren für URL-Parameter, um Schrägstriche nicht codiert zu haben. Zitat von github:
%Vor%Wenn Sie wirklich nicht möchten, dass der Schrägstrich für Sie codiert wird, registrieren Sie einen benutzerdefinierten Typ mit Ihrer Regexp und deklarieren Sie item_id als benutzerdefinierten Typ, d. h. url: / {item_id: MyType}
Um dieses Problem zu lösen, können Sie einen Zustand ändern, indem Sie $ location.path () verwenden, das Schrägstriche in stateparams
hat. Zum Beispiel, wenn unser Zustand so ist:
app.js
%Vor% In diesem Fall kann path
param mehrere Schrägstriche enthalten. Wenn Pfad = part1 / part2 ist, erhalten Sie eine Route wie diese /project/part1%252Fpart2
, indem Sie ui-sref
oder $state.go()
verwenden. Um das korrekte Routing (d. H.% Co_de%) zu erhalten, verwenden Sie $ location.path (), um einen Status zu ändern.
HTML:
%Vor%Controller:
%Vor%in neuen ui-router 1.0 können wir root: true param verwenden was die URL-Kodierung des Parameters wie hier hier
deaktiviert > %Vor%Eine ausführlichere Erklärung finden Sie hier:
Tags und Links angularjs angular-ui-router