2016-07-08 6 views
0

Ich baue eine Website, wo die Account-Seite eine Angular.js Einzelseite App ist. Also eine normale Ansicht würde die URL wie localhost:3000/account#/infoHandle Legacy-URL mit Angular-UI-Router

Jetzt sagen, ich muss Angular behandeln eine URL wie localhost:3000/account/?param=value machen, wie sollte ich den Router einrichten? (Ich verwende ui-Router)

Ich habe versucht, so etwas wie

$stateProvider.state('my-page', { 
    url: '', 
    controller: 'MyPageController' 
}) 

, aber es funktioniert nicht. (Es erkennt nur localhost:3000/account?param=value beachten Sie den fehlenden Schrägstrich nach account)

Hat jemand irgendwelche Ideen? Vielen Dank.

Antwort

0

Da der Abfrageteil zur serverseitigen URL statt ui-router gehört, müssen Sie ihn mit $window.location.search abrufen.

Dann können Sie beziehen here, um es in ein Objekt für die weitere Verwendung zu verwandeln.

+0

Macht Sinn, aber wo sollte '$ window.location.search' existieren, wenn 'MyPageController' nicht einmal vom Router aufgerufen wird? – melonccoli