角度2のルーティングに疑問があります。 私はログイン画面を持っています。ログインダッシュボードと他のページには、ログインに使用されないヘッダーとフッターがあります。角度2のルーティング
const routes: Routes = [
{
path:'',
redirectTo: '/login',
pathMatch: 'full'
},
{
path:'login',
loadChildren: './auth/auth.module#AuthModule',
},
{
path: 'dash',
loadChildren: './dash/dash.module#DashModule',
canActivate:[AuthGuard],
data: {
preload: true
}
},
{
path: 'project',
loadChildren: './project/project.module#projectModule',
canActivate: [AuthGuard],
data: {
preload: true
}
}
];
のでapp.component.htmlのルータ・アウトレットへのロード。 現在、私はdash.component.htmlで
<ks-header></ks-header>
<router-outlet></router-outlet>
のように、すべてのモジュールのhtmlでこのルータ・アウトレットをヘッダコンポーネントを使用する必要がありますが、他のダッシュ関連の負荷の子アウトレットです。
他のモジュールと同じです。 共通のヘッダー/サイドバーを表示する他の効果的な方法はありますか? 私はisloginがlogined決定またはません
<ks-header [userInfo] ="userInfo" [hidden]="isLogin"></ks-header>
<ks-sidebar [hidden]="isLogin"></ks-sidebar>
ようapp.component.htmlでそれを試してみました。しかし、私はそれが良い考えだとは思わない。
ヘッダーとサイドバーのみを非表示にする必要がある場合は、オーバーヘッドが大きすぎるため、2番目のルータアウトレットには向かないでしょう。しかし、ヘッダーとサイドバーはDOM内にありますが、visibleプロパティだけがhiddenに設定されているので、ここでは[hidden]を使用しないでください。私は* ngIf = "isLogin"が良いと思います。 – seveves
[tag:router]のタグの説明から:*ルータは、複数のネットワークにデータパケットを転送するデバイスです。 URL ROUTINGまたはシングルページアプリケーションルートに関する質問でこのタグを使用しないでください。 – connexo
@connexoの申し立てによって修正されます。 – user3118041