Vue컴포넌트는 마운트되는 시점에서 객체이다
이 객체의 모든 속성은 선택적이지만, 적어도 이 객체가 컴포넌트라고 불리려면 <template>
이나 렌더 함수(render()
)가 필요하다.
SFC컴파일러는 이 .vue
라는 파일을 마치 기존 클래스 기반의 OOP에서 클래스를 사용하듯이 사용한다. .vue
파일이 컴파일되면 컴포넌트라는 인스턴스가 형성된다. 외부의 관점에서는 이 .vue
파일은 컴포넌트 객체를 반환하는 ES 모듈에 불과하다.
Vue 컴포넌트 인스턴스는 어찌보면 당연하게도 생명주기를 갖는다.
생명주기를 갖는다는 사실 자체는 특별하지 않다. 다만 이 생명주기를 분류하고 이 생명주기 마다 훅을 이용할 수 있도록 Vue가 제공한다는 게 중요하다.
생명주기 표