Ich bin neu in Angular 4. Ich versuche, verschiedene Layout-Kopf- und Fußzeilen für verschiedene Seiten in meiner App festzulegen. Ich habe drei verschiedene Fälle:
- Anmelden, Seite registrieren (keine Kopf- und Fußzeile)
Routen: ['Login', 'Register']
- Marketing-Site-Seite (dies ist der Stammpfad und hat eine Kopf- und Fußzeile, meistens kommen diese Abschnitte vor der Anmeldung)
Routen: ['', 'about', 'contact']
- Angemeldete Seiten der App (Ich habe in diesem Abschnitt für alle App-Seiten eine andere Kopf- und Fußzeile, aber diese Kopf- und Fußzeile unterscheidet sich von der Kopf- und Fußzeile der Marketing-Site.)
Routen: ['Dashboard', 'Profil']
Ich führe die App vorübergehend aus, indem ich meiner Routerkomponente HTML eine Kopf- und Fußzeile hinzufüge.
Bitte raten Sie mir einen besseren Ansatz.
Das ist mein Code:
app \ app.routing.ts
const appRoutes: Routes = [
{ path: '', component: HomeComponent},
{ path: 'about', component: AboutComponent},
{ path: 'contact', component: ContactComponent},
{ path: 'login', component: LoginComponent },
{ path: 'register', component: RegisterComponent },
{ path: 'dashboard', component: DashboardComponent },
{ path: 'profile', component: ProfileComponent },
// otherwise redirect to home
{ path: '**', redirectTo: '' }
];
export const routing = RouterModule.forRoot(appRoutes);
app.component.html
<router-outlet></router-outlet>
app / home / home.component.html
<site-header></site-header>
<div class="container">
<p>Here goes my home html</p>
</div>
<site-footer></site-footer>
app / about / about.component.html
<site-header></site-header>
<div class="container">
<p>Here goes my about html</p>
</div>
<site-footer></site-footer>
app / login / login.component.html
<div class="login-container">
<p>Here goes my login html</p>
</div>
app / dashboard / dashboard.component.html
<app-header></app-header>
<div class="container">
<p>Here goes my dashboard html</p>
</div>
<app-footer></app-footer>
Ich habe diese Frage beim Stapelüberlauf gesehen, aber ich habe kein klares Bild von dieser Antwort erhalten