2

現在のコンポーネントから別のコンポーネントにナビゲートする方法は?私はこのように試してみました:コンポーネントnavigate route

アカウントコンポーネント:

vm.$onInit = function() { 
    var jwt = accountService.getJWT(); 

    if (!jwt || jwtHelper.isTokenExpired(jwt)) { 
     this.$router.navigate(['registration']); 
    } 
}; 

これは私のために動作しません:(

Component "Root" has no route config. 

を私は

.value('$routerRootComponent', 'app') 
.component('app', { 
    template: '<ng-outlet></ng-outlet>', 
    $routeConfig: [ 
     {path: '/registration', component: 'registration', useAsDefault: true}, 
     {path: '/registration/:referrer', component: 'registration'}, 

     {path: '/account', component: 'account'} 
    ] 
}) 

plnkr

$ routerRootComponentを設定しています
+0

詳細情報が役立ちます。何がどこに "別のコンポーネント"で、何が現在のコンポーネントであるか。これはAngularjsとどのように関連していますか? Angular2の質問のように見えます。 –

+0

現在の場所(アカウントコンポーネント)を別のコンポーネント(登録コンポーネントなど)に変更しようとしています。 –

+0

あなたの質問に含まれているのと同じ "情報"があり、追加情報はありません。ルートが追加された場所(ルートコンポーネント、子コンポーネント、 'の有無にかかわらず)およびルートコンポーネント、子コンポーネントなどのコンポーネントがどこにあるかを関連付けるには、' this 。$ router.navigate(...) 'コード。この情報がなければ、示唆できるものはあまりありません。問題を再現できるようにするPlunkerを作成する必要があるかもしれません。 –

答えて

1

(古いルータの)ルートには名前が必要で、router.navigate()にはその名前が使用されています。そうでない場合は、たとえばrouter.navigateByUrl()を使用する必要があります。

+0

ありがとうございました!あなたは私の時間を節約しています! :) –