2016-05-08 5 views
1

これは私のメインビューの「サブセット」ビューで、タブバー(地図、マーケット、およびチャート)を持っています。それらをクリックすると、UiSrefを介してこのタグに正しく出力されます。角度ui-viewデフォルト/正当な使用法:

<div ui-view name="inception2"></div> 

3つのビューは、以下のように私のルートファイルに定義されています。

どのようにしてuiViewNameのビューをtsView2にデフォルト設定できますか?現在、私はクリックする必要があります。再び、私はルーターファイルを設定して抽象状態とすべてを持っています - これは、既存のプロジェクトの簡単なタブ演習のためだけです。ありがとう!

.state('tsView1', { 
    views: { 
    'inception2': { 
     templateUrl: 'client/templates/tsVview1.html' 
    } 
    } 
}) 

.state('tsView2', { 
    views: { 
    'inception2': { 
     templateUrl: 'client/templates/tsView2.html' 
    } 
    } 
}) 

.state('tsView3', { 
    views: { 
    'inception2': { 
     templateUrl: 'client/templates/tsView3' 
    } 
    } 
}) 

答えて

1

あなたはこのソリューションを試すことができます

Redirect a state to default substate with UI-Router in AngularJS

設定redirectTo

app.run(['$rootScope', '$state', function($rootScope, $state) { 

    $rootScope.$on('$stateChangeStart', function(evt, to, params) { 
     if (to.redirectTo) { 
     evt.preventDefault(); 
     $state.go(to.redirectTo, params) 
     } 
    }); 
}]); 

そしてその親のデフォルト

.state('main', { 
    redirectTo: 'tsView2', 
    ... 
    } 
.state('tsView2', { 
    parent: 'main' 
    ... 
    } 

これ、他の言葉を適用するを読んで、小型エンジンを導入、するtsViewsが必要です子供たち...しかし、私はすでにそれが真実であるべきだと思います。

これは...私が持っている私のメインビューのオフ「のサブセット」ビューのために

1

使用$urlRouterProvider$urlRouterProviderの詳細についてotherwise方法

.state('tsView2', { 
    url: '/tsview2', 
    views: { 
    'inception2': { 
    templateUrl: 'client/templates/tsView2.html' 
    } 
    } 
}) 


$urlRouterProvider.otherwise('/tsview2'); 

を使用してデフォルトルートを設定するには、これを参照してください。https://github.com/angular-ui/ui-router/wiki/URL-Routing#urlrouterprovider

+0

アーディティヤ、私の謝罪である - 私は、これは私の内の1つのオフ/サブセットです言及しませんでした既存のプロジェクト - 私は既にUrlRouteProviderを使用し、それ以外の場合はメインのナビゲーションビューでリダイレクトします。このUIビューはサブセットです。私はそれらの詳細を更新します。 – jd1138

関連する問題