2015-09-23 19 views
5

Pracuję z angularjs i UI-Router. Chciałbym skonfigurować trasy, które określają wybrany język. chociaż ta część trasy powinna być opcjonalna.AngularJS: opcjonalny język w adresie URL

Mam następujące stany:

{ 
    state: 'app', 
    config: { 
      abstract: true, 
      url: '/{lang:(?:de|en)}', 
      template: '<ui-view/>' 
    } 
} 

{ 
    state: 'app.mainview', 
    config: { 
      url: '/mainview', 
      templateUrl: 'app/mainview/mainview.html', 
      controller: 'MainviewController', 
      controllerAs: 'vm', 
      title: 'Main View', 
      settings: { 
       pos: 1, 
       displayName: 'Mainview', 
       icon: 'code-array' 
      } 
    } 
} 

teraz jej tylko możliwe, aby przejść do MAINVIEW z

example.com/en/mainview 

Choć chciałbym skonfigurować UI-routera, tak aby wszyscy o następujące trasy są ważne:

example.com/mainview 
example.com/en/mainview 
example.com/de/mainview 

Czy mogę ustawić trasę z opcjonalnym parametrem językowym na początku bez nas podwójną kreskę? Jeśli nie, jakie alternatywy sugerujesz?

Odpowiedz