Angular 컴포넌트에서 라우트 매개변수 값 가져오기
우리가 라우트에 정의하는 매개변수 값은 컴포넌트 클래스에서 얻을 수 있습니다. 어떻게 하는지 살펴보겠습니다. 다음과 같은 매개변수가 있는 라우트가 있다고 가정해 봅시다:
const routes: Routes = [
{ path: 'aaaa/:id', component: AaaaComponent },
{ path: 'bbbb', component: BbbbComponent },
];
이 매개변수 값을 컴포넌트 클래스에서 얻어봅시다.
여기서 주의할 점은 라우트 매개변수 값은 해당 라우트에 연결된 컴포넌트 내에서만 얻을 수 있다는 것입니다.
우리의 경우 라우트에는 Aaaa 컴포넌트가 연결되어 있습니다.
따라서 이후 작업은 이 컴포넌트로 진행하겠습니다.
그렇다면, 라우트 매개변수 값을 얻으려면 ActivatedRoute 서비스를 사용해야 합니다.
이 서비스를 우리 컴포넌트로 가져옵니다:
import { ActivatedRoute} from "@angular/router";
생성자에 서비스를 주입합니다:
export class AaaaComponent {
constructor(private activateRoute: ActivatedRoute) {
}
}
매개변수가 있는 객체를 얻습니다:
export class AaaaComponent {
constructor(private activateRoute: ActivatedRoute) {
let params = activateRoute.snapshot.params;
console.log(params);
}
}
우리 매개변수의 값을 얻습니다:
export class AaaaComponent {
constructor(private activateRoute: ActivatedRoute) {
let params = activateRoute.snapshot.params;
let id = params['id'];
console.log(id);
}
}
여러분의 매개변수 값을 얻어보세요.