Vue.js Guide 에는 이렇게 적혀있음
내가 알기로는 인스턴스의 속성들중 하나이다
그렇다면 인스턴스는 무엇인지...
new Vue({
el: ,
template: ,
data: ,
methods: ,
created: ,
watch: ,
});
뷰 컴포넌트는 상위컴포넌트와 하위컴포넌트로 구성되어있고 컴포넌트간의 통신으로 데이터를 주고받는다
상위 컴포넌트 ---> 하위 컴포넌트 : Props
하위 컴포넌트 ---> 상위 컴포넌트 : Event
props: ['propsdata'],
v-bind:propsdata="message"
위의 코드를 유심히 살펴보자
// 하위 컴포넌트 : childComponent
var childComponent = {
props: ['propsdata'],
template: '<p>{{ propsdata }}</p>'
}
// 상위 컴포넌트 : root 컴포넌트
new Vue({
el: '#app',
components: {
'child-component': childComponent
},
data: {
message: 'hello vue.js'
}
})
<div id="app">
<child-component v-bind:propsdata="message"></child-component>
<!-- 위의 출력 결과는 hello vue.js -->
</div>
this.$emit('update')
위의 코드를 유심히 살펴보자
// 하위 컴포넌트 : childComponent
var childComponent = {
methods: {
sendEvent: function() {
this.$emit('update');
}
}
}
// 상위 컴포넌트 : root 컴포넌트
new Vue({
el: '#app',
components: {
'child-component': childComponent
},
methods: {
showAlert: function() {
alert('event received');
}
}
})
<div id="app">
<child-component v-on:update="showAlert"></child-component>
</div>
저의 벨로그의 내용은
저의 인프런 센세,,, 캡틴판교님의 문서에서 따왔습니다!
감사합니다 캡틴판교님!