props
를 통해 전달하는 것은 복잡한 코드가 된다. 이러한 경우에 사용하는 것이 provide
, inject
이다.최상위 컴포넌트는 provide
, 최하위 컴포넌트는 inject
를 사용하여 컴포넌트마다 계속 전달할 필요가 없어진다.
자식 컴포넌트로 전달하고자 하는 데이터를 provide에 정의한다.
export default {
data() {
return {
message: '안녕'
}
},
provide() {
return {
message: this.message
}
}
}
key: value
로 만든다.message
를 반환한다.부모 컴포넌트로부터 전달받고자 하는 데이터와 동일한 속성이름으로 문자열 배열로 정의한다.
export default {
inject: ['message'],
data() {
return {
fullMessage: this.message
}
}
}