Vue.component('my-component-name', { /* ... */ })
<my-component-name>와 같이 케밥-표기법으로 사용해야 한다.Vue.component('MyComponentName', { /* ... */ })
<my-component-name>, <MyComponentName> 모두 가능new Vue()로 만든 Vue 인스턴스.vue 파일이 하나의 Vue instance이고, 하나의 컴포넌트이다..vue 파일은 아래와 같은 기본 구성으로 이루어져 있다.
<template> // html
</template>
<script> // script
export default {};
</script>
<style> // style
</style>
각 .vue 파일은 자신만의 html, style, script를 가지기 때문에, 컴포넌트 별로 독립된 환경을 가지고 개발할 수 있다.
.vue 파일 생성src/components/ 안에 생성.vue파일에 script 부분에 이름을 등록한다.<script>
export default {
name: 'MyComponent',
}
</script>
<template>
<div>
<h1>컴포넌트</h1>
</div>
</template>
하위 컴포넌트를 사용할 상위 컴포넌트의 script 부분에 하위 컴포넌트를 불러온다.
// 문법
import {instance name} from {location}
instance name은 instance 생성시 작성한 'name'@은 'src'의 shortcut (절대 경로).vue 확장자는 생략 가능상위 컴포넌트의 instance 객체의 components에 등록한다.
상위 컴포넌트의 template 부분에서 등록한 컴포넌트를 사용한다.
// 예시
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<!-- 3. 보여주기 -->
<HelloWorld msg="Welcome to Your Vue.js App"/>
<MyComponent/>
</div>
</template>
<script>
// 1. 불러오기
import HelloWorld from './components/HelloWorld.vue'
// @ : 절대경로 의미 (src), vue 확장자 생략
import MyComponent from '@/components/MyComponent'
export default {
name: 'App',
// 2. 등록하기
components: {
HelloWorld,
MyComponent,
}
}
</script>