8-4 Structure d'application dynamique
Pour le moment, l'application n'est pas tellement dynamique ☹️
Observons d'un peu plus près le composant App
:
src/app/app.ts
@Component({
selector: 'app-root',
imports: [RouterOutlet, ProjetsListe, Navbar, Footer],
template: `
<app-navbar></app-navbar>
<h1>{{title}}!</h1>
<app-projets-liste></app-projets-liste>
<router-outlet />
<app-footer></app-footer>
`,
styles: [],
})
app-navbar
: parfait, cette barre de navigation doit être sur toutes les pages!<h1>
: est-ce que j'aurai le même titre sur toutes les pages !? Probablement pas.<app-projets-liste>
: aurons-nous une liste de projets sur toutes les pages? Encore là, pas tout à fait!<router-outlet></router-outlet>
: si vous vous rappelez l'introduction, c'est la partie dynamique de l'application responsable du changement de contenu, on voudra donc garder cette portion.<app-footer>
: parfait aussi pour le footer, on le voudra en effet sur toutes les pages
Modifier et simplifier AppComponent
Modifions le gabarit pour ne conserver que la navigation, la portion dynamique (RouterOutlet
) et le footer
. On peut aussi retirer la propriété title
de AppComponent
puisque nous ne l'utiliserons plus. En effet, chaque page sera responsable de son titre.
src/app/app.ts
@Component({
selector: 'app-root',
imports: [RouterOutlet, Navbar, Footer],
template: `
<app-navbar></app-navbar>
<router-outlet />
<app-footer></app-footer>
`,
styles: [],
})
export class App {
}
Cependant, il n'y a plus de contenu sur la page d'accueil! 😕
http://localhost:4200
