Ich benutze Angular und UI Router. Ich versuche, einen Link auf der Seite zu erhalten, den der Benutzer kopieren und freigeben kann. This thread hat mir gezeigt, dass $state.href
ist die Funktion, die ich suche, aber es erzeugt nicht die richtige Verbindung.
Ein wichtiges Detail hier ist, dass der Stamm meiner Anwendung nicht die Wurzel der Domäne ist. In diesem Fall lautet die Domäne localhost
, aber der Stamm der eckigen App lautet localhost/dev/app/
.
Hier ist der Befehl, den ich in meinem Controller verwende.
$scope.url = $state.href('survey', { survey: "asd" }, {absolute: true});
In meinem app.js, wird die folgende Route erklärt:
.state('survey', {
url: "/:survey/survey?ao",
templateUrl: "views/survey/survey.html",
controller: "surveyController",
},
data: {
requireLogin: false,
requireAdmin: false
}})
Diese http://localhost/dev/app/#/asd/survey
zurückkehren sollte, es gibt stattdessen http://localhost/#/asd/survey
.
(Das Besondere daran ist, dass ui-sref="survey({survey: "asd"})
auf den richtigen Link nicht übersetzen.)
Gibt es eine Möglichkeit ich dieses Problem beheben kann, so erhalte ich die vollständige URL?