2017-01-11 2 views
-2

I는 I 3 개 별도 경로를 원하는 enter image description hereAngular2에서 경로를 구성하는 방법은 무엇입니까?

헤더 sidemenu, innerpages 같은 (약 프로필, ..)

(1 헤더 2- sidemenu 3- innerpages)는 애플리케이션 로딩 요구 될 때 가질 프로필 페이지 내가

같은 시도

먼저 와야

const appRoutes: Routes = [ 
    { 
    path: '', redirectTo: '/business', pathMatch: 'full' 
    } 
]; 
@NgModule({ 
    imports: [ 
    RouterModule.forRoot(appRoutes) 
    ], 
    exports: [ 
    RouterModule 
    ] 
}) 
export class AppRoutingModule {} 
0 app.rouutes.ts한다 입력하면

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

를 구성하는 데 도와주세요, 경로는 URL을 반영하다/사업/머리글 만 BusinessHeaderComponent를 가져올 것입니다. 라우팅이 필요합니다. 하위 경로가 필요합니다. 비즈니스/about을 입력하면 비즈니스 헤더, 사이드 메뉴 및 구성 요소가로드되어야합니다.

{ 
    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> 태그가 있습니다.

하위 구성 요소는 내용 정보가있는 약 페이지와 같이 아무 것도 될 수 없습니다.

물론 당신은 당신이 지금까지 시도 무엇 모두 루트

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

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

을 작성할 수 있습니다. CoreComponents.BusinessComponent, Plese는 몇 가지 예제를 제공합니다. –

+0

제거 된 CoreComponents입니다. 죄송합니다. 그렇게하는 방법은 있지만 필수는 아닙니다. – Ayyash

+0

Ok. 내가 이해하지 못했던 한 가지, ** BusinessLayoutComponent 및 UserLayoutComponent 템플릿은 순수 HTML로 머리글과 사이드 바를 추가했다. ** 모든 모듈에서처럼 헤더를 사용해야한다면, sidemenu –

관련 문제