2016-10-04 2 views
0

は、私はこのような二つの状態ている:私が作ることができる方法角度Uiルータで最後のスラッシュをオプションにする方法は?

$stateProvider.state('app', { 
     url: '/app', 
     template: '<app-index></app-index>', 
     data: {}, 
     resolve: {} 
    }); 
    $stateProvider.state('app.list', { 
     url: '/list/:type?', 
     template: '<app-list></app-list>', 
     data: {}, 
     resolve: {} 
    }) 

それがうまく動作しますが、私は、URL /アプリを入力したときに/それはホームページにリダイレクトリストは、オプションのスラッシュ?私はこのURL '/ list/?: type?'を入れようとしました。しかしそれはうまくいかなかった。リダイレクトを追加する必要がありますか?

+0

私は、コントローラを指定する代わりに自己完結型ディレクティブをロードするためにテンプレートを使用し、ルートのtemplateURLを使用することを非常に認めています。 IMHOは、よりクリーンで管理しやすいルートを作ります。 – Enzey

+0

@Enzey角度1.5のコンポーネントを使用しています。 – jcubic

答えて

1

私はこれを行うにはそこに財産を信じていませんが、あなたはあなただけの存在を無視することができる「アプリ」の上に追加のルートを追加するにはスラッシュ

.state('app', { 
    url: '/app', 
    template: '<app-index></app-index>', 
}) 
.state('app.withSlash', { 
    url: '/', 
}) 

でsubrouteを設定することにより、それを動作させることができますここに.withSlash '

.state('app.withOtherParam', { 
    url: '/:id', 
}) 

のスラッシュはオプションであり、後に追加のparamを有する経路の一例です。

+0

これは動作しますが、 '.state( 'app.without'、{url: '/ list'、テンプレート: ''}) – jcubic

関連する問題