부모컴포넌트에서 자식컴포넌트만 리렌더링 시키고싶을때가 있다.
내 경우엔 date picker 라이브러리로 불러온 컴포넌트만 리렌더링 시켜서 내부 data 값을 초기화 시키고 싶었는데...
<template>
<component-to-re-render :key="componentKey" />
</template>
export default {
data() {
return {
componentKey: 0,
};
},
methods: {
forceRerender() {
this.componentKey += 1;
}
}
}
이렇게 자식 컴포넌트의 key값을 1씩 증가시키며 변경해주면 리렌더링이 된다.
페이지 전체를 리렌더링 하거나 v-if, v-show를 이용한 hack을 사용하진 말것.