2017-01-26 3 views
1

this templateを使用しており、ASP.NET領域を使用してアプリケーションを分離したいと考えています。公共エリアと管理エリアを持つウェブサイトがあるとします。今すぐホームエリアを表示することはできますが、管理エリア(公共エリアとはまったく異なるはずです)を表示するための基本レイアウトの変更方法はわかりません。Angular 2でアプリケーションのさまざまなセクションを管理する方法

私は、彼らが一緒よう/admin/**ルートをどのように動作するかわからない角度コンポーネントを使用して、公開ページのための1つを作成し、別の管理ページのためとappコンポーネントにそれらを一緒に接続する必要がなく、理解して何から、対応するコンポーネントににリダイレクトされます(これは独自の基本レイアウトを持っています)。

+0

これを行うためにルートを使用してみませんか?角度2のルータでは、ネストされたナビゲーションを行うことができます。おおまかなレイアウト(会社ロゴなど)とルーターアウトレットと2つのルート( "空"、デフォルトで使用される)と "管理者"の2つのルートがあります。これにより、全体のレイアウトがロードされ、それぞれに独自のルータ出口があり、最初の/デフォルトのページがロードされます – Tseng

+0

@Tsengコード例を教えてください。 – VSG24

+0

@ VSG24それは分かったのですか? – Christopher

答えて

0

私は、そのテンプレートについてはよく分からないんだけど、角度でネストされたルートを設定し、このような何か行うことができます。

// app.routing.ts 

const APP_ROUTES: Routes = [ 
    { path: "", component: PublicComponent, 
      children: [ 
      { path: "", component: HomeComponent }, 
      { path: "login", component: LoginComponent }, 
      { path: "join", component: JoinComponent }, 
      { path: “login/forgot-your-password", component: ForgotPasswordComponent }, 
      ] 
    }, 
    { path: "admin", component: AdminComponent, canActivate: [AdminGuard], 
      children: [ 
      { path: “users", component: UsersListComponent }, 
      { path: “secret", component: SecretComponent, canActivate: [SecretGuard] }, 
      { path: “message", component: MessageComponent } 
      ] 
    } 
]; 

// app.component.html 

<router-outlet></router-outlet> 

// public.component.html 

<header> 
     <app-header></app-header> 
</header> 

<main> 
     <router-outlet></router-outlet> 
</main> 

<footer> 
     <app-footer></app-footer> 
</footer> 

// admin.component.html 

<header> 
     <app-admin-header></app-admin-header> 
</header> 

<main> 
     <router-outlet></router-outlet> 
</main> 

あなた既にネストされたパスにも子が必要な場合は、さらにネストすることができます。

関連する問題