App-routing.module.ts Routes forRoot forChild loadChildren
앵귤러 프레임워크에서 라우팅관련해서 자주 접하던 메소드들에 대해서 알아보고 라우팅 path에 대해서도
잠시나마 삽질 했던 부분에 대해서 기억하고자 글을 남깁니다.
기본적으로 앵귤러는 root route module로써 app-routing.module.ts를 사용
<app-routing.module.ts>
const router: Routers = [
{
path: work,
children: [
{
path: 'testA',
loadChildren: () =>
import('./page/work/work.module').then((m) => m.WorkModule)
}
]
]
...
...
@NgModule({
imports: [
RouterModule.forRoot(router, {
enableTracing: false,
onSameUrlNavigation: 'reload',
useHash: false
})
],
exports: [RouterModule]
})
export class AppRoutingModule {}
미리 route 경로를 지정해놓고 해당 url과 매칭시 module 혹은 component를 load하는 형태..
loadChildren: () 부분은 지연로딩으로써 work/testA URL로 요청시에만 work.module을
load 하겠다는 뜻
<work.module.ts>
const router: Routes = [
{
path: 'test',
component: WorkComponent,
resolve: { WorkResolverService }
}
];
...
@NgModule({
declarations: [WorkComponent],
imports: [
RouterModule.forChild(router)
...
]
})
...
work.module이 로드 됐을때 route 경로를 다시 설정하는데.. 위 코드는 work/testA/test URL 요청시 WorkComponent를 화면에 뿌려주겠다는 뜻