반응형
- vue-router install
npm install vue-router
해당 폴더, 프로젝트에 package.json에 dependencies가 추가된다.
- main.js
import { createApp } from 'vue'
import router from '@/router'
import App from './App.vue'
const app = createApp(App)
app.use(router)
app.mount('#app')
참조. @는 src 폴더를 가리킨다.
- router 폴더 생성 후 index.js 파일 생성
import { createRouter, createMemoryHistory } from 'vue-router'
import HelloWorld from '@/components/HelloWorld.vue'
import AppLayout from '@/components/layouts/AppLayout.vue'
const Foo = { template: '<div>foo</div>' }
const routes = [
{
path: '',
name: '',
component: AppLayout,
children: [
{
path: '/hello',
name: 'hello',
component: HelloWorld
},
{
path: '/foo',
name: 'foo',
component: Foo
}
]
}
]
const router = createRouter({
history: createMemoryHistory(),
routes // `routes: routes`의 줄임
})
export default router
라우팅의 방식 중에 named routes(이름있는), nested routes(중첩) 방식이 있다.
중첩방식을 통해서, 레이아웃을 그리고, 그 속에 view를 라우팅 할 것이다.
Nested Routes | Vue Router (vuejs.org)
- App.vue
<template>
<h1>Hello Vue!</h1>
<RouterView />
</template>
<script>
export default {
name: 'App'
}
</script>
- AppLayout.vue
<template>
<div>
app layout
</div>
<HeaderView />
<LeftView />
<main>
<RouterView />
</main>
</template>
<script>
import HeaderView from '@/components/HeaderView.vue'
import LeftView from '@/components/LeftView.vue'
export default {
name: 'AppLayout',
components: {
HeaderView,
LeftView
},
created () {
this.$router.push({name: 'hello'})
}
}
</script>
this.$router.push 로 화면이 생성되자마자 hello 페이지로 뷰 라우팅될 것이다.
- HeaderView.vue
<template>
header HeaderView
<nav>
<RouterLink to="/hello">Go to hello</RouterLink>
<RouterLink to="/foo">Go to foo</RouterLink>
</nav>
</template>
여기까지 기본 설정.
끝.
반응형
'IT > Script' 카테고리의 다른 글
VSCode Terminal 에 node.js 환경경로 잡기 (0) | 2024.04.30 |
---|---|
Vue 프로젝트 생성, 실행 (1) | 2024.03.23 |
jquery plugin (0) | 2020.06.22 |
Illegal hex characters in escape (%) pattern (0) | 2020.03.10 |
jquery history 제어 (0) | 2020.02.28 |
FullCalendar 중첩? 중복제거 addEventSource (2) | 2020.01.14 |
enter key code (0) | 2020.01.07 |
FullCalendar 한글설정 (0) | 2020.01.03 |