2017-01-11 6 views
-2

У меня требование, как enter image description hereКак настроить маршруты в Angular2?

заголовка, sidemenu, innerpages (профиль, примерно ..)

Хочу 3 отдельно маршрутов (1-заголовка, 2-sidemenu, 3-innerpages) , когда приложение нагрузки страница профиля, пришедшего первым

Я попытался как

app.rouutes.ts

const appRoutes: Routes = [ 
    { 
    path: '', redirectTo: '/business', pathMatch: 'full' 
    } 
]; 
@NgModule({ 
    imports: [ 
    RouterModule.forRoot(appRoutes) 
    ], 
    exports: [ 
    RouterModule 
    ] 
}) 
export class AppRoutingModule {} 

business.routes.ts

const BUSINESS_ROUTES: Routes = [ 
    { path: 'header', component: BusinessHeaderComponent }, 
    { path: 'sidemenu', component: BusinessSidemeuComponent }, 

    { path: 'about', component: BusinessComponent } 

    ]; 

@NgModule({ 
imports: [ 
    RouterModule.forChild(BUSINESS_ROUTES) 
], 
exports: [ 
    RouterModule 
] 
}) 
export class BusinessRoutingModule { } 

Пожалуйста, помогите мне настроить его

+2

Что вы пробовали до сих пор? Я также предложил бы прочитать документацию по угловому 2 вокруг этого, а затем попытаться реализовать и задать вопрос, если вы застряли. https://angular.io/docs/ts/latest/guide/router.html –

+2

Пожалуйста, внесите ваш код с тем, что вы пробовали. – acostela

+1

Я не вижу причин, почему у вас будет маршрут для заголовка и маршрут для вашего бокового меню. Вы путаете маршруты с разделами страницы. –

ответ

1

вы смесительный концепцию маршрутов с раскладками, маршруты отражение URLs, если ввести/бизнес/заголовок, вы получите только BusinessHeaderComponent, это маршрутизация ... вам нужны детские маршруты, когда вы входите в бизнес/о, он должен загружать бизнес-заголовок, sidemenu и о компоненте

{ 
    path: '', redirectTo: '/business', pathMatch: 'full' 
}, 
{ 
    path: 'business', 
    component: BusinessLayoutComponent, 
    children: [ 
     { 
     path: 'about', 
     component: AboutComponent, 
     }, 
    ] 
    }, 
{ 
    path: 'user', 
    component: UserLayoutComponent, 
    children: [ 
     { 
     path: 'about', 
     component: AboutComponent, 
     }, 
    ] 
    }, 

Теперь внутри BusinessLayoutComponent и UserLayoutComponent шаблонов, добавить заголовок и боковую панель, как чистый HTML, нет необходимости в компонентах для этого, потому что это единственное место, где они будут определены

Компоненты макета очень простые HTML-страницы с заголовками и боковых панелей и одного тега <router-outlet></router-outlet>, чтобы содержать дочерние компоненты.

Детскими компонентами может быть что угодно, как о странице с About content.

Конечно, вы можете использовать то же самое о компоненте в обоих маршрутах

import { Component} from '@angular/core'; 

@Component({ 
    templateUrl: 'common/about.html' 
}) 
export class AboutComponent { 
    constructor() { } 
} 
+0

могут написать компонент: CoreComponents.BusinessComponent, Plese, приводят некоторые примеры –

+0

Удалено CoreComponents, извините, что так я это делаю, но это не обязательно – Ayyash

+0

Хорошо. Одна вещь, которую я не понял, вы сказали ** шаблоны BusinessLayoutComponent и UserLayoutComponent, добавили свой заголовок и боковую панель как чистый html, не нужно для компонентов для этого ** Если, как и в каждом модуле, я должен написать заголовок, sidemenu –

Смежные вопросы