子ルートでテンプレートを使用します。
public
とsecure
で鉱山を分割し、すべてのレイアウトをレイアウトしてからレイアウトを選択します。
子ルートをエクスポートして、正しいルートがレイアウトルートで呼び出されていることを確認してください。また、各子ルートファイルにredirectTo
を必ず使用してください。
app.routing.ts
const APP_ROUTES: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full', },
{ path: '', component: PublicComponent, data: { title: 'Public Views' }, children: PUBLIC_ROUTES },
{ path: '', component: SecureComponent, canActivate: [Guard], data: { title: 'Secure Views' }, children: SECURE_ROUTES }
];
その後、私はレイアウトフォルダに
レイアウト
layouts/public/public.components.ts
layouts/public/public.components.html
layouts/secure/secure.components.ts
layouts/secure/secure.components.html
子ルート /public/piublic.routes.ts
export const PUBLIC_ROUTES: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'p404', component: p404Component },
{ path: 'e500', component: e500Component },
{ path: 'login', component: LoginComponent },
{ path: 'register', component: RegisterComponent },
{ path: 'home', component: HomeComponent }
];
を持っています
/secure/secure.routes.tsそのHTMLテンプレートを作成するテンプレート
import { Component, OnInit } from '@angular/core';
@Component({
templateUrl: './benefits.component.html',
})
export class BenefitsComponent {
constructor() { }
}
にロードするコンポーネントを作成
export const SECURE_ROUTES: Routes = [
{ path: '', redirectTo: 'overview', pathMatch: 'full' },
{ path: 'items', component: ItemsComponent },
{ path: 'overview', component: OverviewComponent },
{ path: 'profile', component: ProfileComponent },
{ path: 'reports', component: ReportsComponent }
];
、
/public/benefits.component.html'
今でそれは公共のルートの一部です。誰かが公共のルートに行くと、それはチリのルートにロードされます。 /public/public.routes.ts
ファイル内に新しいhtml
ページを読み込むために作成する新しいルートごとに追加します。
テンプレートを使用してテンプレートにコンポーネントを表示するという意味ですか? – wuno
はい、それはアイデアです。複数回テンプレート部分を再利用しないでください – fefe
あなたの要件はルーティングの基本的な動作のように見えますが、ドキュメントを確認するには、ルータのアウトレットが鍵です。 https://angular.io/docs/ts/latest/guide/router.html – Sakuto