Vue.js의 공식 라우터
중첩된 라우트/ 뷰 매핑 모듈화 된, 컴포넌트 기반의 라우터 설정 등
SPA 상에서 라우팅을 쉽게 개발 할 수 있는 기능을 제공
설치방법
vue add router
설치하면 변경되는 내용
router > index.js
import About from '../views/About.vue' // 추가
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component : About, // 추가
}
]
views > About.vue
@
사용<template>
<div>
<h1>this is about page</h1>
<NewComponent/>
</div>
</template>
<script>
//import NewComponent from '../components/NewComponent.vue' // 경로 너무 복잡해
import NewComponent from '@/components/NewComponent.vue'
// @ == /src
//'@/components/NewComponent.vue' === '/src/components/NewComponent.vue'
export default {
name : 'About',
components : {
NewComponent
}
}
</script>
router > index.js
에서 name 설정
const routes = [
{
path: '/',
name: 'Home', // 이름
component: Home
},
{
path: '/about',
name: 'About', // 이름
component : About,
}
]
App.vue
:to="{ name : 이름 }"
꼴로 써줌 <template>
<div id="app">
<div id="nav">
<!-- <router-link to="/">Home</router-link> | -->
<router-link :to="{name : 'Home'}">Home</router-link>
<!-- <router-link to="/about">About</router-link> -->
<router-link :to="{name : 'About'}">Home</router-link>
</div>
<router-view/>
</div>
</template>
this.$router.push({ name: 'Login'})