2016-05-04 13 views
0

私は、ライブプロジェクトでui-routerでAngularJSを使用し始めました。AngularJS ui-router statesの構造

私は現在ルートを構成するのが難しいです。

アプリケーションシナリオがある: 災難一つは、操作複数存在します。

URLの構造は以下の通りです:

カラミティ:台風

http://localhost/#/timeline/typhoon 

カラミティ:操作ID

http://localhost/#/timeline/typhoon/52 

との台風は、私は現在timeline抽象状態を持っていますが、トラブルに実行しています。私はURLを持っているtimeline親を持つためにそれらを設定するとき

.state('timeline', { 
    abstract: true, 
    url: '/timeline', 
    templateUrl: 'timeline.html', 
    controller: 'TimelineCtrl' 
.state('timeline.calamity', { 
    url: '/{calamity}', 
    templateUrl: 'timeline.calamity.html', 
    controller: 'TimelineCtrl' 
}) 
.state('timeline.calamity.operation', { 
    url: '/{operationID}', 
    templateUrl: 'timeline.calamity.operation.html', 
    controller: 'TimelineCtrl' 
}) 

operationルートが正しくロードされません。

.state('timeline', { 
    abstract: true, 
    url: '/timeline/{calamity}/{operationID}', // operationID should be optional here 
    templateUrl: 'timeline.html', 
    controller: 'TimelineCtrl' 
}) 
.state('timeline.calamity', { 
    url: '', 
    templateUrl: 'timeline.calamity.html', 
    controller: 'CalamityCtrl' 
}) 
.state('timeline.operation', { 
    url: '', 
    templateUrl: 'timeline.operation.html', 
    controller: 'OperationCtrl' 
}) 

これらのルートを作成する適切な方法は何ですか?

+0

私はあなたの質問は[抽象状態]に関するドキュメントから答えることができると思います(https://github.com/angular-ui/ui-router/wiki /ネストされた状態 - %26 - ネストされたビュー#abstract-state-usage-examples)。それはあなたにかなり良い例を提供します。 '$ stateParams'オブジェクトがどのように動作するかを調べることもできます –

答えて

0

使用すると、1つのパラメータにURLがありません:

state('timeline.calamity', { 
    url: '/:calamity', 
... 
}) 
.state('timeline.operation', { 
    url: '/:operationID', 
... 
})