JavaScript와 HTML, CSS등에 대해서는 일체 다루지 않는다.
기초지식은 다른 강의를 참조하도록 하라.
또한 Angular에서는 JavaScript로 번역되는 TypeScirpt라는 새로운 언어를 사용한다.
이 언어는 JavaScript에 Type을 추가한 언어로 좀더 객체지향적인 설계가 가능한 언어이다.
이 언어에 대해서 조금씩의 설명은 있겠지만 자세한 설명은 다루지 않을 계획이다.
필자는 아직 이 TypeScript를 강의로 제공할 생각이 없으므로 자세히 알고싶다면
https://www.typescriptlang.org/
를 참조하라.
이 포스팅은 앞의 세 포스팅에 강하게 의존되어 있다.
따라서 세 포스팅을 참가하여 이어서 하기를 바란다.
[Angular-12]angular route - url로 parameter넘겨받기(ActivateRoute)
[Angular-13]angular route - 정적 data 사용하기
위에 이어서 하기를 바란다.
이제 자식 라우팅을 해보도록 해보자.
자식 라우팅은 라우팅을 한데서 또 라우팅을 하는 개념이다.
이 개념을 넣어야 앞으로 계층 적인 구조를 만들 수 있다.
일단 자식 라우팅으로 쓰기위한 컴포넌트를 두개를 생산해보도록 하자.
일단 java와 python이라는 컴포넌트를 새로 제작하였다.
이제 이 컴포넌트를 라우팅에 붙히도록 해보자.
// app.routing.ts
import {Routes, RouterModule} from '@angular/router';
import {OneComponent} from './one/one.component';
import {TwoComponent} from './two/two.component';
import {JavaComponent} from './java/java.component';
import {PythonComponent} from './python/python.component';
const routes: Routes = [
{path: 'one/:pid', component: OneComponent},
{
path: 'two', component: TwoComponent, data: [{staticData: 'kukaro'}],
children: [
{path: 'java', component: JavaComponent},
{path: 'python', component: PythonComponent}
]
}
]
;
export const routing = RouterModule.forRoot(routes);
이번에는 two라는 컴포넌트가 two url에 자식들을 붙히도록 할 것이다.
이 때 자식으로 붙히도록 할것은 java컴포넌트와 python컴포넌트이다.
각각 java url과 python url을 붙히도록 할 것이다.
<!--two.component.html-->
<h1 class="two">Two Component:{{dataTwo}}</h1>
<a [routerLink]="['./java']">java</a><br>
<a [routerLink]="['./python']">python</a>
<router-outlet></router-outlet>
이제 two 컴포넌트에 붙힐것이므로 여기서 새로운 routerLink와 router-outlet을 붙혀주도록 하자.
이제 java 템플릿과 python 템플릿을 확인해 보도록 하자.
<!--java.component.html-->
<p>
java works!
</p>
<!--python.component.html-->
<p>
python works!
</p>
이제 테스트 해보도록 하자.
/two를 보면 해당 화면이 출력되는 것을 볼 수 있다.
이제 각각을 눌러보자
/two/java
를 보면 해당화면이 보이게 되는걸 알 수 있다.
또한 /two/python으로 하면 해당 화면을 볼 수 있다.
'Programming > TypeScript-Angular' 카테고리의 다른 글
[Angular-15]값의 동적 변경과 angular model(NgModel) (0) | 2018.09.26 |
---|---|
[Angular-13]angular route - 정적 data 사용하기 (0) | 2018.06.03 |
[Angular-12]angular route - url로 parameter넘겨받기(ActivateRoute) (0) | 2018.06.03 |
[Angular-11]angular route (0) | 2018.06.03 |
[Angular-10]외부 프론트 라이브러리 적용하기 (0) | 2018.05.09 |