La meilleure méthode pour définir la mise en page différente pour les différentes pages angulaire 4
Je suis nouveau sur angulaire 4. Ce que je suis en train de réaliser est de définir les différentes mise en page les en-têtes et pieds de page pour les différentes pages de mon application. J'ai trois cas différents:
- La connexion, la page d'enregistrement (pas d'en-tête, pas de pied de page)
routes: ['login','register']
- Marketing de la page du site (c'est le chemin de la racine et il a un en-tête et pied de page, la plupart de ces sections avant la connexion)
routes : [",'sur','contact']
- App enregistré dans les pages (j'en ai un autre en-tête et pied de page dans cette section pour toutes les pages de l'application, mais cet en-tête et pied de page est différente de la commercialisation du site d'en-tête et pied de page)
routes : ['tableau de bord','profil']
Je lance l'app temporairement par l'ajout d'un en-tête et pied de page de mon routeur composant html.
Merci de me conseiller une meilleure approche.
C'est mon code:
app\app.le routage.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 d'obtenir une image claire de cette réponse
OriginalL'auteur ninja dev | 2017-10-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez résoudre votre problème à l'aide de l'enfant routes.
Voir le travail de démonstration à https://angular-multi-layout-example.stackblitz.io/ ou de modifier à https://stackblitz.com/edit/angular-multi-layout-example
Définir votre itinéraire comme ci-dessous
Recommandé référence: http://www.tech-coder.com/2017/01/multiple-master-pages-in-angular2-and.html
Merci pour cette réponse. Il a vidé un problème j'ai eu où ma mise en page a eu un nommé routeur qui a été à l'origine de toutes sortes de problèmes. Enlever simplement il a fait tout fonctionne comme prévu.
Merci beaucoup @Rameez
OriginalL'auteur Rameez Rami
vous pouvez utiliser de l'enfant par exemple
MainComponent et AdminComponent comme
le poste de parler distinctes dans différents fichiers les routes
Je veux dire que si vous avez deux styles différents de pied de page vous pouvez, faites un pied de page à l'aide d'un @entrée et *ngIf pour montrer l'un ou l'autre point de vue, ou de prendre deux pieds de page. De toute façon c'est seulement un exemple. Vous pouvez mettre des "enfants" de chemin: ",le composant:MainComponent, votre DashboardComponent, et de profil, et d'oublier le chemin:admin
ses utiles si vous êtes wotking avec l'admin routes. Merci de me donner l'idée.
OriginalL'auteur Eliseo