컴포넌트를 생성했을 시 created() 훅에 의해서 생성과 소멸이 반복하며 일어난다
컴포넌트 전환마다 페이지의 값이 초기화 되어야 한다면 문제가 없지만 컴포넌트 안에서 값을 유지해야하거나 성능상의 이유로 re-render를 피하고 싶다면 그때 사용하는것이
‘Keep-alive’ 엘리먼트로 해결이 가능하다
컴포넌트가 최초 생성되는 시점에 캐시를 해 준다
Keep-alive 엘리먼트가 없다면 전환이 일어날때마다 컴포넌트가 생성과 소멸을 반복하기때문에 datat가 유지 되지 않는다 ! 그렇기 때문에 다른컴포넌트에 다녀왔을 경우 data값이 초기화가 된다
💡 즉 ! 컴포넌트 data 값이 변해야 하는 경우에는 keep-alive 를 쓰면 안된다
그러나 keep-alive 엘리먼트로 둘러쌓인 컴포넌트는 최초 생성시기에 캐시가 되어 다른 컴포넌트에 다녀와도 새로고침이 발생하기 전까지 data가 유지가 된다
💡 새로고침이 일어나기 전까지 컴포넌트의 변화만으로 data가 변하지 않는다
keep-alive의 대상이 되는 컴포넌트를 include를 사용하여서 조건부로 캐시처리도 가능하다