2015-09-23 12 views
5

私はangularjsとUI-Routerを使っています。選択した言語を指定するルートを構成したいと思います。ルートのこの部分はオプションである必要があります。AngularJS:urlへのオプションの言語パラメータ

I持っている以下の状態:

{ 
    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' 
      } 
    } 
} 

今の私は、UI-ルータを設定したいと思いますけれども

example.com/en/mainview 

とMAINVIEWにナビゲートすることも可能のみとなるよう、すべてのO次のルート有効:

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

私たちなしで、オプションの言語パラメータでルートを設定することはできますか?ダブルスラッシュ?いいえの場合は、どのような選択肢がありますか?

答えて

3

詳細なソリューションは、ここであなたは基本的に親状態紹介

が記載されている

.state('root', { 
    url: '/{lang:(?:en|de|cs)}', 
    abstract: true, 
    template: '<div ui-view=""></div>', 
    params: {lang : { squash : true, value: 'en' }} 
}) 
+0

私はせずに任意の状態でLANGを変更する方法例として /en/helloから/ de/hello(リロードなし) –

関連する問題