반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 리액트
- v-html
- event
- 쉬운설명
- 자료구조
- webpack
- Wecode
- ES6
- Vue
- Vue transition
- App.vue
- express
- TypeScript
- scss
- vuex
- State
- JavaScript
- 댓글달기
- sass
- 자바스크립트
- CSS
- Vue.js
- react
- MySQL
- input
- HOC
- nodejs
- mapGetters
- jsx
- storybook
Archives
- Today
- Total
익명의 개발노트
[Vue.js] nested router 구현 본문
반응형
Vue에서 router 주소를 /login/type 등등으로 이어서 사용하고자 할때가 있다.
그럴때는 nested router 를 사용한다.
nested router는 router 기능 중 children을 사용하는 것으로 써,
주소로 표현하고자 하는 최상단 컴포넌트는 반드시 <router-view></router-view>를 가지고 있어야 보여줄 수 있다.
index는 최대한 간단하게 <router-view> 만 써주는 게 좋다.(다른 코드있으면, 그 코드까지 랜더링된다)
Index.vue
<template>
<div>
<router-view></router-view>
</div>
</template>
router.js에서 아래와 같이 작성을 한다.
//router.js
{
path: '/login',
name: '',
component: () => import(/* webpackChunkName: "" */ '../components/views/Index.vue'), //최상위 컴포넌트
children: [
{
path: '/',
name: 'login',
component: () => import(/* webpackChunkName: "login" */ '../components/views/login/LoginView.vue'),
},
{
path: 'type',
name: 'login-type',
component: () => import(/* webpackChunkName: "login-type" */ '../components/views/login/LoginTypeView.vue'),
},
}
기본 메인페이지를 url 지정을 해주고, children path를 "/" 로 설정해준다.
그리고 하위컴포넌트를 명시해주고, 해당 페이지를 이동시키는 router-link나 this.$router.push의 경로를
아래 이동하고자 하는 경로로 맞춰주면 된다.
<router-link to="/login/type">
or
this.$router.push("/login/type");
반응형
'코딩일기 > TIL' 카테고리의 다른 글
[정규식] emoji 거르는 정규식 (2) | 2020.02.19 |
---|---|
[Vue.js] Vue에서 정확한 CJK(중국어, 일본어, 한글) 데이터 바인딩 (0) | 2020.02.19 |
[vue.js] typesctipt for문을 이용한 tab기능 구현 (1) | 2020.02.12 |
[vue.js] vuex 상태변화시 리랜더링 안되는 현상(강제 리랜더링) (0) | 2020.01.29 |
[vue.js] global 컴포넌트 특정 라우트 컴포넌트에서 안보이게 처리 (0) | 2020.01.23 |
Comments