simpleVue
  • Simple Vue.js
  • Vue.js 란 ?
  • 01. vue-cli 알아보기
  • 02. Component 구성해보기
  • 03. State 와 Props
  • 04. v-for 를 이용한 리스트 렌더링
  • 05. v-if, v-show 를 이용한 조건부 렌더링
  • 06. Data Binding
  • 07. Computed 와 watch
  • 08. Router
  • 09. Todo - 준비
  • 10. Todo - Read
  • 11. Todo - Create
  • 12. Todo - Remove
  • 13. Todo - Update (상태)
  • 14. Todo - Update (Text)
  • 15. Todo - Filter
  • 16. Vuex
  • 부록
    • Git SSH key 등록
    • VS code + prettier + eslint
Powered by GitBook
On this page

Was this helpful?

08. Router

vue-router 를 이용하여 SPA routing 을 구현해봅니다.

Previous07. Computed 와 watchNext09. Todo - 준비

Last updated 5 years ago

Was this helpful?

실습

(예제는 초기 구성되었던 환경에서 시작합니다.)

vue-router 설치

npm i --save vue-router

router.js 추가

path 마다 다른 component 를 보여주기 위해서는 설정이 필요합니다.

// src/router.js

import Vue from "vue";
import VueRouter from "vue-router";

Vue.use(VueRouter); // vue 에서 vue router 를 사용하기 위해 알려줘야합니다.

const router = new VueRouter({
  mode: "history", // browser history mode 를 사용합니다.
  routes: [{ path: "/", component: "" }] // path 별 component 를 추가합니다.
});

export default router;

/ path 로 들어왔을 경우 보여줄 메인 페이지를 추가해보겠습니다.

// src/views/Home.vue

<template>
  <div>
    <h1>Home Page</h1>
  </div>
</template>

<script>
export default {};
</script>

<style>
</style>

/ path 이외의 우리가 정의하지 않은 path 로 들어올 경우 보여줄 Error Page 를 추가하겠습니다.

// src/views/ErrorPage.vue

<template>
  <div>
    <h1>Error Page</h1>
  </div>
</template>

<script>
export default {};
</script>

<style>
</style>

path 별로 보여줄 component 설정을 추가해보겠습니다.

import Vue from "vue";
import VueRouter from "vue-router";
import ErrorPage from "./views/ErrorPage";
import Home from "./views/Home";

Vue.use(VueRouter);

const router = new VueRouter({
  mode: "history",
  routes: [
    { path: "/", component: Home },
    {
      path: "*",
      component: ErrorPage
    }
  ]
});

export default router;

main.js 에 router 추가하기

router.js 를 추가만 한다고 router 를 이용할 수 있는 것은 아닙니다. main.js 에 추가를 해줘야합니다.

import Vue from "vue";
import App from "./App.vue";
import router from "./router";

Vue.config.productionTip = false;

new Vue({
  router,
  render: h => h(App)
}).$mount("#app");

App.vue 에 router-view 추가하기

routing 된 component 를 보여주기 위해서는 App.vue 에 router-view 를 추가해줘야합니다.

<template>
  <div>
    <router-view/>
  </div>
</template>

<script>
export default {};
</script>

<style>
</style>
이전의