- 컴포넌트 시스템은 독립적이며 재사용할 수 있는 컴포넌트들로 구성하여 대규모 앱을 구축할 수 있게 해주는 추상적 개념
- Vue에서 컴포넌트는 미리 정의된 옵션을 가지는 Vue 인스턴스
- 대규모 앱은 개발을 보다 쉽게 관리할 수 있도록 전체 앱을 컴포넌트로 나누는 것이 필수적
사용법
Vue.component('todo-item', {
template: '<li>This is a todo</li>'
})
var app = new Vue(...)
<ol>
<todo-item></todo-item>
</ol>
전체 앱을 컴포넌트로 나눈 예시
<div id="app">
<app-nav></app-nav>
<app-view>
<app-sidebar></app-sidebar>
<app-content></app-content>
</app-view>
</div>
사용법
<div id="app-7">
<ol>
<todo-item
v-for="item in groceryList"
v-bind:todo="item"
v-bind:key="item.id"
></todo-item>
</ol>
</div>
var app7 = new Vue({
el: '#app-7',
data: {
groceryList: [
{ id: 0, text: 'Vegetables' },
{ id: 1, text: 'Cheese' },
{ id: 2, text: 'Whatever else humans are supposed to eat' }
]
}
})
Vue.component('todo-item', {
props: ['todo'],
template: '<li>{{ todo.text }}</li>'
})