Angular 컴포넌트에서 경로 매개변수 사용하기

이제 라우트 매개변수를 컴포넌트 클래스 내부에서 어떻게 사용할 수 있는지 살펴보겠습니다.

매개변수를 가진 다음과 같은 라우트가 있다고 가정해 보겠습니다:

app/app.routes.tsconst routes: Routes = [
  { path: 'aaaa/:id', component: AaaaComponent },
  { path: 'bbbb', component: BbbbComponent },
];

다양한 매개변수로 이 컴포넌트에 이동하기 위한 다음과 같은 링크가 있다고 가정합니다:

app/app.component.html<nav>
  <a
    routerLink="/aaaa/1"
    routerLinkActive="active"
  >
    1
  </a>
  <a
    routerLink="/aaaa/2"
    routerLinkActive="active"
  >
    2
  </a>
  <a
    routerLink="/aaaa/3"
    routerLinkActive="active"
  >
    3
  </a>
</nav>

자식 컴포넌트에 다음과 같은 배열이 포함되어 있다고 가정합니다:

app/aaaa/aaaa.component.tslet arr: string = [
  'a', 'b', 'c', 'd', 'e'
];

export class AaaaComponent {

}

라우트 매개변수의 값에 따라 배열의 해당 요소를 가져오도록 해보겠습니다:

app/aaaa/aaaa.component.tsexport class AaaaComponent {
  constructor(private activateRoute: ActivatedRoute) {
    let params = activateRoute.snapshot.params;
    let id = params['id'];
    
    this.value = arr[id];
  }
}

얻은 요소를 템플릿에 출력해 보겠습니다:

app/aaaa/aaaa.component.html값: {{ value }}
Задание 1

자식 컴포넌트에 다음과 같은 객체 배열이 저장되어 있다고 가정합니다:

typescript[
  {
    name: 'user1',
    surn: 'surn1',
  },
  {
    name: 'user2',
    surn: 'surn2',
  },
  {
    name: 'user3',
    surn: 'surn3',
  },
]

매개변수를 가진 라우트를 만드세요. 매개변수 값에 따라 템플릿에 사용자 중 한 명의 데이터가 출력되도록 하세요.