Vue.component('컴포넌트 이름', 컴포넌트 내용);
<body>
<div id="app">
<!-- 3. 컴포넌트 적용 -->
<app-header></app-header>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
// 2. 컴포넌트 생성
Vue.component('app-header', {
template: '<h1>Header</h1>'
});
// 1. 인스턴스 생성하여 붙이기
const vm = new Vue({
el: '#app'
});
</script>
</body>
1️⃣ 인스턴스 생성하여 id명이 app
인 태그에 붙이기
2️⃣ <script>
태그 안에서 컴포넌트 생성하여 이름과 내용 작성
3️⃣ HTML 태그 안에 컴포넌트 적용
app-header
컴포넌트가 정상적으로 출력되는 것을 확인할 수 있다.Vue.component('컴포넌트 이름', 컴포넌트 내용);
const vm = new Vue({
components: {
'컴포넌트 이름': 컴포넌트 내용
}
});
<body>
<div id="app">
<app-header></app-header>
<app-content></app-content>
<app-footer></app-footer>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
// 전역 컴포넌트
Vue.component('app-header', {
template: '<h1>Header</h1>'
});
Vue.component('app-content', {
template: '<div>content</div>'
});
// 지역 컴포넌트
const vm = new Vue({
el: '#app',
components: {
'app-footer': {
template: '<footer>footer</footer>'
}
}
});
</script>
</body>
app2
라는 태그에 인스턴스를 붙인 예제이다.app2
안에 app-header
전역 컴포넌트와 app-footer
지역 컴포넌트를 추가하였다.<body>
<div id="app">
<app-header></app-header>
<app-footer></app-footer>
</div>
<div id="app2">
<app-header></app-header>
<app-footer></app-footer>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
Vue.component('app-header', {
template: '<h1>Header</h1>'
});
const vm = new Vue({
el: '#app',
components: {
'app-footer': {
template: '<footer>footer</footer>'
}
}
});
new Vue({
el: '#app2',
});
</script>
</body>
app-footer
컴포넌트를 제대로 등록했는지에 대한 경고가 발생했다.