2016-09-12 4 views
4

私は、角度2のアプリケーションを作成しています。私のapp.componentでは、私はルータとこの角度2のログインページ(ログイン用と他のレイアウト用のレイアウト)のレイアウトが異なります。

<header-component><header-component> 
<router-outlet></router-‌​outlet> 

を持っている:私は

<header-component> 

が、すべてのためを取り除きたいのログインにナビゲートし

const appRoutes: Routes = [ 
    { path: 'profesionals', component: CrearEditarProfesionalsComponent }, 
    { path: 'home', component: HomeComponent }, 
    { path: 'login', component: LoginComponent }, 
    { path: '', component: HomeComponent } 
]; 

ユーザーがログインしているときの他のページはそのままレイアウトを表示したいだけです。これを達成するためにng-ifをサービスと併用する必要がありますか?何が最善の方法ですか?

+0

ng私はサービス音がいいです。 –

答えて

1

あなたのページから削除できます。目的の結果を達成するためには、ヘッダーコンポーネントをその子ルートとして表示する必要があるすべてのコンポーネントを作成することができます。

あなたはこのようにそれを達成することができます:

{ path: 'dashboard', component: HeaderComponent, children: [ 
    { path: '', component: HeaderComponent }, 
    { path: 'mypath', component: MyComponent } ] 
}, 
{ path: 'login', component: LoginComponent } 

こうHeaderComponentと子コンポーネントが表示されますHeaderComponentルートの子であるすべてのルートを。

あなたのログインはHeaderComponentを表示しません。

+0

この場合、ルータの電源はどこにありますか?今すぐapp.component.tsにあります –

+0

あなたが別のルータのアウトレットを作成しなければならない子ルートを使用すると、この新しいアウトレットがその子の親に入り、新しいレイアウトができます。 –

関連する問題