0927 Vue.js와 component
Component
(1) Global Component
Global component 는 해당 컴포넌트 명을 어디서든지 사용할 수 있다는 특징을 갖는다.
<div id="app">
<my-gmp></my-gmp>
<hr>
<my-gmp></my-gmp>
</div>
var data={
animal: 'dog'
}
Vue.component('my-gmp', {
data: function(){
return data;
},
template: '<p>Animal Type: <button @click = "changeAnimal">Change</button></p>',
methods: {
changeAnimal : function(){
this.animal = 'cat';
}
}
});
new Vue({
el : '#app'
})
POINT
- template 안에는 HTML 문법이 사용되었다.
- Global component를 형성하기 위해 Vue.component(‘태그 이름’, ‘옵션’) 을 사용한다.
- Global component 안에서 data는 함수 형식, 구체적으로는 객체를 return 해주는 함수가 되어야 한다.
(2) Local Component
Local Component는 특정 부분에서만 사용 가능한 컴포넌트이다.
<div id="app2">
<my-lmp></my-lmp>
<hr>
<my-lmp></my-lmp>
<div>
var cmp = {
data: function(){
return{
animal: 'dog'
}
},
template: '<p>Animal Type: <button @click = "changeAnimal">Change</button></p>',
methods: {
changeAnimal: function(){
this.animal : 'elephant';
}
}
};
new Vue({
el: '#app2',
components : {
'my-cmp' : cmp
}
})
POINT
- Local component는 인스턴스 옵션에 ‘components’를 추가하여 그 안에 ‘사용할 태그 이름’과 ‘지역 컴포넌트 변수’를 매치해줘야한다.