티스토리 뷰
728x90
동적 라우트는 URL 경로에 변수를 포함하여 여러 가지 유사한 경로를 처리할 수 있는 기능을 말함. Vue Router에서 동적 라우트는 특정 URL 패턴에 매칭되는 경로를 정의하고, 해당 경로에서 동적으로 변하는 부분을 파라미터로 받을 수 있음.
동적 라우트 설정 방법
동적 라우트는 경로에 콜론(:)을 붙여 정의함.
예를 들어, :id라는 동적 파라미터를 사용하면 /user/1, /user/2와 같은 경로가 모두 동일한 라우트에 매칭될 수 있음.
const routes = [
{
path: '/user/:id',
component: UserComponent
}
]
위 코드에서 path에 있는 :id 부분이 동적 파라미터로, /user/1, /user/2 등의 URL에 매칭됨. 여기서 :id는 동적으로 변하는 값임.
파라미터 접근하기
watch를 이용해 동적 파라미터 변경 감지
동적 라우트는 URL의 파라미터가 변경될 때마다 컴포넌트를 재사용할 수 있음. 이 경우, watch를 이용해 파라미터 변경을 감지하고 필요한 작업을 처리할 수 있음.
export default {
name: 'UserComponent',
mounted() {
console.log(this.$route.params.id) // URL의 id 값을 출력
}
}
예를 들어, /user/3 경로로 들어가면 this.$route.params.id는 3이 됨.
watch를 이용해 동적 파라미터 변경 감지
동적 라우트는 URL의 파라미터가 변경될 때마다 컴포넌트를 재사용할 수 있음. 이 경우, watch를 이용해 파라미터 변경을 감지하고 필요한 작업을 처리할 수 있음.
export default {
watch: {
'$route.params.id'(newId) {
console.log('id가 변경되었습니다:', newId)
// 새로운 id로 필요한 작업을 실행
}
}
}
여러 파라미터를 사용하는 동적 라우트
동적 라우트에서는 여러 파라미터를 사용할 수도 있음. 파라미터는 슬래시(/)로 구분됨.
const routes = [
{
path: '/user/:id/post/:postId',
component: UserPostComponent
}
]
여기서 :id와 :postId는 각각 params.id와 params.postId로 접근 가능함.
export default {
mounted() {
console.log(this.$route.params.id) // user의 id
console.log(this.$route.params.postId) // post의 id
}
}
파라미터 유효성 검사 (정규식 사용)
때로는 특정 패턴에 맞는 파라미터만 허용하고 싶을 때가 있음. 이때 정규식을 이용해 파라미터의 패턴을 정의할 수 있음.
const routes = [
{
path: '/user/:id(\\d+)', // 숫자만 id로 허용
component: UserComponent
}
]
동적 라우트의 장점
- 코드 재사용성: 동일한 컴포넌트를 여러 다른 URL에서 재사용할 수 있음.
- 유연성: 여러 변수를 받아 처리할 수 있어 다양한 URL 패턴을 간단하게 처리 가능함.
- 경량화: 라우트 설정이 간단해지며, 다수의 유사한 라우트를 일일이 작성할 필요가 없음.
나의 말:
728x90
'Web Development > vue' 카테고리의 다른 글
| [콜럼Vue스] 명명 라우트 (1) | 2024.10.21 |
|---|---|
| [콜럼Vue스] 중첩라우트 (0) | 2024.10.21 |
| [콜럼Vue스] Vue-router (0) | 2024.10.20 |
| [콜럼Vue스] <script setup> (0) | 2024.10.19 |
| [콜럼Vue스] 생명주기 훅(Life Cycle Hook) (0) | 2024.10.19 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Await
- 이벤트에미터
- 코랩 워드클라우드
- 사용자정의이벤트
- 리액트 폴더구조
- 로짓함수
- 사전학습모델
- ML
- 콜백callback
- 코랩 한글깨짐
- NLP
- AI
- 인스턴스 옵션
- 인스턴스 구조
- dl
- 프론트엔드
- 컴포넌트간통신
- 이벤트유효성
- async
- 컴포넌트간데이터전달
- 인스턴스 생명주기
- 자연어처리
- 데이터옵션
- defaultparameter
- KoELECTRA
- 코랩 워드클라우드 한글깨짐
- transformer
- PROMISE
- 리액트
- gradientclipping
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함