2016-08-03 18 views
0

以下は私のui-routerの設定です。 「家」は親状態であり、「バッチ」は他の多くの中の1つの子状態である。

//config 
.state('home',{ 
    url:'/home', 
    templateUrl:'../views/sidenav/home.htm', 
    controller: 'homeController', 
    controllerAs: 'home' 
    }) 

    .state('batches',{ 
    parent:'home', 
    url:'/batches', 
    templateUrl:'../views/sidenav/batches.htm', 
    controller: 'batchesController', 
    controllerAs: 'batches' 
    }) 

問題は、「ホーム」はサイド・ナビゲーション・バーを除いて空のビューを持っています。だから、私はそれが 'home'状態にしようとするたびにユーザを 'バッチ'状態にリダイレクトしたい。 私はそれを達成するために次のことを試みているが、うまくいかない。

$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){ 
    if(toState.name=='home'){ //home is a parent state 
     $location.path('/home/batches'); //batches is a child state of home 
    } 
    }); 
+1

私は混乱しているためdependecy注入をチェック。バッチを家に併せて表示したり、家に見せないようにしたいですか? –

+0

'if'チェックは合格ですか? '$ location'を注入しましたか? – Marko

+0

'home'を' abstract'にします。ルータのドキュメントを参照してください。問題のプランナーデモを作成する – charlietfl

答えて

関連する問題