Beste Methode, um verschiedene Layouts für verschiedene Seiten im Winkel 4

Ich bin neu eckig 4. Was ich versuche zu erreichen ist, verschiedene layout-Kopf-und Fußzeilen für verschiedene Seiten in meinem app. Ich habe drei verschiedene Fälle:

  1. Login, registrieren, Seite (kein header, kein footer)

Routen: ['login','anmelden']

  1. - Marketing-Website-Seite (das ist der root Weg und es hat eine Kopfzeile und eine Fußzeile, vor allem diese Abschnitte kommen vor dem login)

Routen : [",'about','Kontakt']

  1. App angemeldet Seiten (ich habe eine andere Kopf-und Fußzeile in diesem Abschnitt für alle app-Seiten, aber diese header-und footer-unterscheidet sich von der marketing-Seite Kopf-und Fußzeile)

Routen : ['dashboard','Profil']

Ich die app starte, vorübergehend durch hinzufügen einer Kopf-und Fußzeile auf meine router-Komponente "html".

Bitte informieren Sie mich, ein besserer Ansatz.

Dies 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>

Sah ich diese Frage auf stack-overflow, aber ich habe nicht ein klares Bild von dieser Antwort

InformationsquelleAutor ninja dev | 2017-10-02

Schreibe einen Kommentar