상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - Vue.js에서 Vue Router의 동적 라우팅은 어떻게 구현하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Vue.js에서 <a href='https://sangseek.com/sangseeks/Vue Router/ko'>Vue Router</a>의 동적 라우팅(dynamic routing)은 애플리케이션의 URL 경로에 따라 동적으로 컴포넌트를 로드할 수 있는 기능을 제공합니다. 이를 통해 사용자는 URL의 일부를 변수로 사용하여 다양한 페이지를 쉽게 생성할 수 있습니다. 동적 라우팅은 주로 사용자 프로필, 게시물, 상품 상세 페이지 등과 같은 경우에 유용합니다. 1. Vue Router 설치 및 설정 먼저, Vue Router를 설치해야 합니다. Vue CLI를 사용하여 프로젝트를 생성한 경우, Vue Router를 설치할 수 있습니다. ```bash npm install vue-router ``` 설치 후, `src/router/index.js` 파일을 생성하거나 기존 파일을 수정하여 라우터를 설정합니다. 2. 동적 라우트 정의 동적 라우트를 정의하려면, 라우트 경로에 콜론(`:`)을 사용하여 변수를 지정합니다. 예를 들어, 사용자 프로필 페이지를 만들고 싶다면 다음과 같이 설정할 수 있습니다. ```javascript import Vue from 'vue'; import Router from 'vue-router'; import UserProfile from '../components/UserProfile.vue'; Vue.use(Router); const routes = [ { path: '/user/:id', // 동적 라우트 name: 'UserProfile', component: UserProfile, }, ]; const router = new Router({ mode: 'history', // 해시 모드 대신 <a href='https://sangseek.com/sangseeks/히스토리/ko'>히스토리</a> 모드 사용 routes, }); export default router; ``` 위의 코드에서 `:id`는 동적 세그먼트로, URL에서 사용자 ID를 받아올 수 있습니다. 3. 컴포넌트에서 동적 파라미터 사용 동적 라우트에서 전달된 파라미터는 컴포넌트에서 `this.$route.params`를 통해 접근할 수 있습니다. 예를 들어, `UserProfile.vue` 컴포넌트에서 사용자 ID를 가져오는 방법은 다음과 같습니다. ```vue <template> <div> <h1>User Profile</h1> <p>User ID: {{ userId }}</p> </div> </template> <script> export default { computed: { userId() { return this.$route.params.id; // 동적 파라미터 접근 }, }, }; </script> ``` 4. 동적 라우팅의 활용 동적 라우팅은 다양한 상황에서 활용될 수 있습니다. 예를 들어, 게시물 상세 페이지를 만들고 싶다면 다음과 같이 설정할 수 있습니다. ```javascript import PostDetail from '../components/PostDetail.vue'; const routes = [ { path: '/post/:postId', // 동적 라우트 name: 'PostDetail', component: PostDetail, }, ]; ``` 그리고 `PostDetail.vue`에서 `postId`를 가져와서 해당 게시물의 데이터를 로드할 수 있습니다. 5. 네비게이션 및 링크 동적 라우팅을 사용할 때는 `router-link`를 사용하여 링크를 생성할 수 있습니다. 예를 들어, <a href='https://sangseek.com/sangseeks/사용자 목록/ko'>사용자 목록</a>에서 각 사용자의 프로필로 이동하는 링크를 만들 수 있습니다. ```vue <template> <div> <h1>User List</h1> <ul> <li v-for="user in users" :key="user.id"> <router-link :to="{ name: 'UserProfile', params: { id: user.id } }"> {{ user.name }} </router-link> </li> </ul> </div> </template> <script> export default { data() { return { users: [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, ], }; }, }; </script> ``` 6. 추가적인 고려사항 - 네스트된 라우트 : 동적 라우팅은 네스트된 라우트와 함께 사용할 수 있습니다. 예를 들어, `/user/:id/posts`와 같은 경로를 정의하여 특정 사용자의 게시물 목록을 보여줄 수 있습니다. - 라우트 가드 : 동적 라우트에 대해 인증이나 권한 검사를 수행할 수 있는 라우트 가드를 설정할 수 있습니다. - 404 페이지 처리 : 동적 라우트가 잘못된 경우를 처리하기 위해 404 페이지를 설정하는 것도 좋은 방법입니다. 결론 Vue.js에서 Vue Router의 동적 라우팅은 URL 경로에 따라 다양한 컴포넌트를 동적으로 로드할 수 있는 강력한 기능입니다. 이를 통해 사용자 경험을 향상시키고, 더 나은 구조의 애플리케이션을 만들 수 있습니다. 동적 라우팅을 적절히 활용하면, 복잡한 애플리케이션에서도 유연하고 직관적인 네비게이션을 제공할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기