인스턴스 상태에 따라 호출할 수 있는 속성들을 의미합니다.
비동기 통신을 처리할 때 유용히 사용되는 개념입니다.
Vue.js 는 크게 4가지의 라이프사이클로 나뉩니다.
가장 먼저 실행되는 훅을 포함합니다.
서버를 렌더링할때, 즉 전반적인 프로젝트 랜더링 시점에도 사용할 수 있습니다. 따라서 프로젝트가 시작되기 전에 처리해야 할 훅을 여기에 포함시키면 됩니다.
돔을 삽입하는 단계입니다. 템플릿을 읽어와서 해당 값을 랜더링 하기 직전에 컴포넌트에 접근하는 훅을 포함합니다.
beforeMount
첫 렌더링 직전에 실행되는 훅입니다.
서버사이드 랜더링은 서버에서 내려온 돔과 데이터를 마운트하는 것을 의미합니다.
이때 서버에서 실행된 정보와 클라이언트에서 실행된 정보가 다르면 오류가 발생하므로
데이터를 초기화할땐 이 훅에서 말고 created 훅에서 하는 것이 좋습니다.
Mounted
랜더링 된 컴포넌트와 템플릿. 돔에 접근할 수 있는 훅입니다.
el을 사용할 수 있는 첫 구간이며 자식 컴포넌트부터 실행됩니다.
재렌더링이 이루어지는 단계입니다.
컴포넌트에서 사용하는 데이터나 타 속성들이 업데이트 되면 실행되는 훅들을 포함합니다.
beforeupdate
컴포넌트 데이터가 업데이트 되어 돔이 재렌더링되기 직전에 실행되는 훅입니다.
updated
재렌더링이 일어난 후에 실행되는 훅입니다. 돔이 재랜더링된 후에 접근하므로 돔과 관련된 연산은 할 수 없습니다.
Vue 인스턴스를 메모리에서 해제하는 단계입니다. 서버렌더링 시 호출되지 않으며
컴포넌트에 걸린 이벤트와 뷰 인스턴스를 제거하는 훅을 포함합니다.
beforedestroy
Vue 인스턴스 제거 직전에 호출되는 훅입니다.
이벤트 리스너를 제거할 때 사용합니다.
destroyed
Vue 인스턴스 제거 후에 호출되는 훅입니다.
Vue의 모든 데이터와 이벤트, 디렉티브를 제거하고 인스턴스 자체도 삭제합니다.