0

Ich habe dieses Muster in meinem route.jsAngular UI Routenparameter

.state('organizations', { 
     url: '/companies/:options?/:keyvalue', 
     templateUrl: '../app/components/organizations/organization.html', 
     controller: 'OrganizationController', 
     controllerAs: 'organizationsCtrl' 
     }) 

Und wenn ich Zugriff versuchen, die URLs

/companies/ 
/companies/users 

Es funktioniert ok, aber wenn ich versuche

/companies/users/1 

Es wird auf die Standardansicht

umgeleitet

Jeder kann mir helfen zu sehen, was ich falsch mache? danke!

+0

entsprechen, warum das '?' in der URL? – Weedoze

+0

ich benutze es, um das ist ein optionaler Parameter, wie ich in einem anderen Beitrag lesen –

Antwort

0

Ich vermute, dass Sie die options Parameter optional machen wollten.

Routenparameter im UI-Router sind standardmäßig optional.

Die ? Suffix auf Routenparameter sagt einfach UI Router, wo der Abfrageteil der URL-Vorlage

Ihre URL sollte sieht dann folgendermaßen aus url: '/companies/:options/:keyvalue'

beginnen soll Dies wird

/companies/ 
/companies/users/ 
/companies/users/1 
+0

Ohne? , Ich kann nicht einmal auf/companies zugreifen/deshalb füge ich es hinzu –

+0

Wenn du zu '/ companies/users/1' gehst, die in den anderen Staat gehen? – Weedoze

+0

genau, aber wenn ich den? auf URL: '/ companies /: options? /: keyvalue', zumindest geht zu/companies// companies/users/ –