2016-08-22 13 views
0

私のアプリケーションには2つの親コンポーネントがあります。Angular2子コンポーネントブラウザのリフレッシュが親コンポーネントにリダイレクトされます

@Component({ 
    selector: 'my-app', 
    directives: [ROUTER_DIRECTIVES], 
    template: ` 
    <router-outlet></router-outlet> 
`, 
    providers: [ROUTER_PROVIDERS] 
}) 

@RouteConfig([ 
    { path : '/router/...', name:'Router', component: RoutingComponent, useAsDefault: true}, 
    { path : '/login', name:'Login', component: LoginComponent } 
]) 

export class AppComponent implements OnInit{ 

    constructor(
     private _router: Router 
    ){} 

    ngOnInit(){ 
     if(localStorage.getItem("user")=== null) { 
      this._router.navigate(['Login']); 
     } 
     else{ 
      console.log(" APP COMPONENT"); 
      this._router.navigate(['/Router', 'RegisterClient']); 
     } 
    } 
} 

ユーザーがログインしている場合、それはアプリケーションのメインページであるように、アプリケーションは、RegisterClientと呼ばれるルータの子成分にリダイレクト。 ユーザーがログインしていない場合、アプリケーションはLoginComponentにリダイレクトされます。

私のルータコンポーネントは、多くの子コンポーネントの

@Component({ 
selector:'router', 
directives: [ROUTER_DIRECTIVES], 
templateUrl: 'app/routing.component.html', 
providers: [AuthenticationService, MessageService] 

})

@RouteConfig([ 
{ path : 'registerClient', name:'RegisterClient', component: RegisterClientComponent}, 
{ path : 'searchClient', name:'SearchClient', component: SearchClientComponent}, 
{ path : 'updateClient/:id', name:'UpdateClient', component: UpdateClientComponent}, 
{ path : 'registerMerchandise', name:'RegistMerc', component: RegisterMercComponent}, 
{ path : 'searchMerchandise', name:'SearchMerc', component: SearchMerchandiseComponent}, 
{ path : 'updateMerchandise/:id', name:'UpdateMerc', component: UpdateMercComponent}, 
{ path : 'registMaterial', name:'RegistMaterial', component: RegisterMaterialComponent}, 
{ path : 'searchMaterial', name:'SearchMaterial', component: SearchMaterialComponent}, 
{ path : 'updateMaterial/:id', name:'UpdateMat', component: UpdateMaterialComponent}, 
{ path : 'messages', name:'MessagesComponent', component: MessagesComponent} 

])

を持っている問題は、私はどの子コンポーネントにいるとき、ある、と私はリフレッシュをしてみてくださいF5またはブラウザボタンが表示されているページでは、ページがリフレッシュされ、常にRegisterClient Componentにリダイレクトされ、子コンポーネントをリフレッシュして同じページに留まりたいとします。

誰でも手助けできますか?

+0

)親コンポーネントの内側のディレクティブを調べて、子コンポーネントまたはメインコンポーネントをレンダリングする必要があります。第2の)既定のパスをチェックしてください。 3)ルートを処理するすべてのインポートを確認します。第4に)慎重にngOnInit()を処理すると、おそらく間違った振る舞いをしている可能性があります:ナビゲート[...]パス、正確なルートなど提案))))https://angular-2-training-book.rangleを確認してください。 io/handout/routing/child_routes.html –

答えて

0

すでにlocalstorageを使用しています。

IDの親チェックをリフレッシュした後にローカルIDにIDを入力し、正しいページに切り替えます。

関連する問題