Je suis novice en matière d'angular 4. Ce que j'essaie de faire, c'est de définir des en-têtes et des pieds de page différents pour les différentes pages de mon application. J'ai trois cas différents :
- Page de connexion, d'enregistrement (pas d'en-tête, pas de pied de page)
les routes : ['login', 'register']
- Page du site de marketing (il s'agit du chemin racine et il comporte un en-tête et un pied de page, la plupart de ces sections se trouvent avant la connexion).
routes : ['', 'about', 'contact']
- Pages de connexion à l'application (j'ai un en-tête et un pied de page différents dans cette section pour toutes les pages de l'application, mais cet en-tête et ce pied de page sont différents de l'en-tête et du pied de page du site de marketing).
routes : ['dashboard', 'profile']
Je lance l'application temporairement en ajoutant un en-tête et un pied de page à mon composant html de routeur.
Veuillez me conseiller une meilleure approche.
Voici mon code :
application \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>
J'ai vu cette question sur stack-overflow mais je n'ai pas obtenu une image claire de cette réponse.