본문 바로가기
Vue js

Vue Router 흐름구조

by 갈잃자 2022. 5. 11.

Vue Router

  • 라우트(route)에 컴포넌트를 매핑한 후, 어떤 주소에서 렌더링할 지 알려줌 (spa여서 html은 한 페이지인데, url상으론 새로운 html을 보내주는 척 하는것)
1. vue router plugin 설치

$ vue add router
2. App.vue에 router-link를 index.js의 선언된 name으로 바꾸어 줄 수 있다.

<template>
  <div id="app">
    <nav>
    <!-- 이부분 -->
        <!-- 객체임을 알리기 위해 바인드 해줌 -->
      <router-link :to="{ name: 'home' }">Home</router-link> 
        		<!-- 여긴 바꾸기전 -->
      <router-link to="/about">About</router-link>
    </nav>
    <router-view/>
  </div>
</template>
3. index.js에 경로 import 해줌

import HomeView from '../views/HomeView.vue'
import AboutView from '../views/AboutView.vue'
4. const routes 에 path, name, component를 설정해줌

const routes = [
  {
    path: '/',
    name: 'home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'about',
    component: AboutView
  },
]
5. views에 vue를 만들어줌

<template>
  <div class="about">
    <h1>This is an about page</h1>
    <button @click="moveToHome">To Home</button>
  </div>
</template>

<script>
export default {
  name: 'AboutView', //index.js에 component와 이름을 같게해줌
  methods: {
    moveToHome() {
      this.$router.push({ name: 'home' }) //페이지를 name home으로 바꾸어준다는 뜻
    }
  }

}

</script>

<style>

</style>

 

'Vue js' 카테고리의 다른 글

LocalStorage vuex-persistedstate  (1) 2022.05.15
Binding Helper  (0) 2022.05.15
emit 흐름구조  (0) 2022.05.11
props 흐름구조  (0) 2022.05.11
node를 이용한 Vue 프로젝트 구조  (0) 2022.05.11

댓글