[Angular]MultipleModule 구성에서의 Routing
개요
절차
앱의 병아리 만들기
ng new ng-multiple-module-routing-sample --routing=true --skip-tests=true --no-interactive=
src/app
아래 파일 % tree src/app
src/app
├── app-routing.module.ts
├── app.component.css
├── app.component.html
├── app.component.ts
├── app.module.ts
app.component.html
의 추가 코드를 지 웁니다 src/app/app.component.html
<router-outlet></router-outlet>
module 만들기
ng generate module --name=home --module=app --route=home --routing --no-interactive
src/app/home
할 수 있습니다 % tree src/app
src/app
├── app-routing.module.ts
├── app.component.css
├── app.component.html
├── app.component.ts
├── app.module.ts
└── home
├── home-routing.module.ts
├── home.component.css
├── home.component.html
├── home.component.ts
└── home.module.ts
src/app/app.routing.module.ts
와 src/app/home/home-routing.module.ts
의 두 가지가 있습니다.app.routing.module.ts
를 살펴 보겠습니다 src/app/app.routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{
// /home/**へのアクセスはh./home/home.moduleへ飛ばされる
path: 'home',
loadChildren: () => import('./home/home.module').then(m => m.HomeModule),
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
})
export class AppRoutingModule {}
app.routing.module.ts
는 홈 모듈 라우팅을 구성합니다./home
로 시작하는 URL에 액세스하면 홈 모듈에 대한 액세스로 판단되며 home.routing.module.ts
의 규칙이 적용됩니다.home.routing.module.ts
src/app/home/home.routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home.component';
// pathの部分は/homeの後ろの値のこと。つまり''は/homeに該当する
const routes: Routes = [{ path: '', component: HomeComponent }];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class HomeRoutingModule {}
path: ''
에 대한 액세스가 HomeComponent
에 매핑되었습니다./home
에 액세스하면 HomeComponent
가 표시된다는 것입니다.home worls!
가 표시됩니다.module에 라우팅 추가
ng generate component --name=home/about --module=home --skipTests --no-interactive
src/app/home/about
할 수 있습니다 % tree src/app
src/app
├── app-routing.module.ts
├── app.component.css
├── app.component.html
├── app.component.ts
├── app.module.ts
└── home
├── about
│ ├── about.component.css
│ ├── about.component.html
│ └── about.component.ts
├── home-routing.module.ts
├── home.component.css
├── home.component.html
├── home.component.ts
└── home.module.ts
src/app/home/home.routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home.component';
import { AboutComponent } from './about/about.component';
const routes: Routes = [
{ path: '', component: HomeComponent },
// /home/aboutにアクセスするとAboutComponentが表示される
{ path: 'about', component: AboutComponent },
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class HomeRoutingModule {}
/home/about
에 액세스하면 About 구성 요소가 표시됩니다./home
에 대한 액세스가 /home/about
로 리디렉션됩니다.const routes: Routes = [
{ path: '', redirectTo: 'about', pathMatch: 'full' },
{ path: 'about', component: AboutComponent },
];
주의
path: '/about'
와 같이 /
감상
Reference
이 문제에 관하여([Angular]MultipleModule 구성에서의 Routing), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ozaki25/items/515f926ba921a262a18e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)