728x90
반응형

작성일자 : 2020.09.07

환경 : Vue 2, vue-router 3.4.3

 

1. vue-rotuer 설치

 

> npm install vue-router
or
> yarn add vue-router

 

 

 

2. vue-router 설정

 

main.js

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

// 임시 Component
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }

// Import Vue Router
import VueRouter from 'vue-router';

// 플러그인 형태의 VueRouter 등록
Vue.use(VueRouter);

// 라우터 객체 생성
const router = new VueRouter({
  mode: history,
  routes: [
    { path: '/foo'component: Foo },
    { path: '/bar'component: Bar }
  ]

})

new Vue({
  render: h => h(App),
  router, // 라우터 등록
}).$mount('#app')

 

 

 

App.vue

<template>
  <div id="app">

    <!-- 라우팅 링크 -->
    <router-link to="foo">foo </router-link>
    <router-link to="bar">bar </router-link
>
    <!-- 컴포넌트가 라우팅 되는 위치  -->
    <router-view></router-view
> 

  </div>
</template>

<script>
export default {
  name: 'App',
  components: {
  }
}
</script>

<style>
  ...
</style>

 

 

 

 

3. 확인

 

/foo 직접 접근 시 

 

/bar 직접 접근 시

 

foo 링크 클릭 시

 

bar 링크 클릭 시

728x90
반응형

'Javascript' 카테고리의 다른 글

javascript example  (0) 2021.02.11
[Vue] 컴포넌트간 데이터 통신  (0) 2020.09.11
[Vue] Component 사용  (0) 2020.09.06
[Vue] Vue Project 생성  (0) 2020.09.03
크롬에서 POST method 호출하기  (0) 2020.08.22
728x90
반응형

전체 로그 :

  [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

 

조치 :

  프로젝트 바로 아래(package.json 위치)에 vue.config.js 생성 후 아래 옵션 추가

module.exports = {
    runtimeCompiler: true
}

 

728x90
반응형
728x90
반응형

작성일자 : 2020.09.06

환경 : Vue 2

 

 

1. Component 생성

 

NewComponent.vue

<template>
    New Component    
</template>

<script>
export default {
    
}
</script>

<style scoped>

</style>

 

 

 

2. Component 등록

 

사용할 위치에 신규 Component 선언 

App.vue

<template>
    ...
</template>

<script>
// import 및 등록
import NewComponent from './components/NewComponent.vue'
export default {
  components: {
    NewComponent
  }
}
</script>

<style>
	...
</style>

 

import 할 때 컴포넌트 명칭은 꼭 파일명과 같지 않아도 된다.

 

 

 

3. Component 사용

 

<template>
  <div id="app">
  ...
    <!-- 컴포넌트 사용 -->
    <NewComponent/>
  
  ...
  </div>
</template>

<script>
import NewComponent from './components/NewComponent.vue'
export default {
  components: {
    NewComponent
  }
}
</script>

<style>
	...
</style>

 

컴포넌트를 사용할 때는 케밥 표기법으로도 사용이 가능하며, 공식 가이드에선 케밥 표기법을 권장한다.

import newComponent     ->      <new-component>

728x90
반응형

'Javascript' 카테고리의 다른 글

javascript example  (0) 2021.02.11
[Vue] 컴포넌트간 데이터 통신  (0) 2020.09.11
[vue] vue-router 사용  (0) 2020.09.08
[Vue] Vue Project 생성  (0) 2020.09.03
크롬에서 POST method 호출하기  (0) 2020.08.22

+ Recent posts