Vue 인스턴스 라이프사이클 훅

· 7년 전 · 1462

인스턴스 라이프사이클 훅


각 Vue 인스턴스는 데이터 관찰을 설정하고, 템플릿을 컴파일하고, 인스턴스를 DOM에 마운트하고, 데이터가 변경 될 때 DOM을 업데이트해야 할 때 일련의 초기화 단계를 거칩니다. 그 과정에서 사용자 정의 로직을 실행할 수있는 라이프사이클 훅 도 호출됩니다. 예를 들어, created 훅은 인스턴스가 생성된 후에 호출됩니다. 예:

new Vue({
  data: {
    a: 1
  },
  created: function () {
    // `this` 는 vm 인스턴스를 가리킵니다.
    console.log('a is: ' + this.a)
  }
})
// => "a is: 1"
인스턴스 라이프사이클의 여러 단계에서 호출될 다른 훅도 있습니다. 그 예로 mounted,updated 및 destroyed가 있습니다. 모든 라이프사이클 훅은 this 컨텍스트가 호출하는 Vue 인스턴스를 가리키며 호출됩니다. Vue 세계에서 “컨트롤러”의 컨셉이 어디에 있는지 궁금할 수 있습니다. 답은 컨트롤러가 없습니다. 컴포넌트의 사용자 지정 로직은 이러한 라이프사이클 훅으로 분할됩니다.

options 속성이나 콜백에 created: () => console.log(this.a) 이나 vm.$watch('a', newValue => this.myMethod()) 와 같은 화살표 함수 사용을 지양하기 바랍니다.
화살표 함수들은 부모 컨텍스트에 바인딩되기 때문에, this 컨텍스트가 호출하는 Vue 인스턴스에서 사용할 경우 Uncaught TypeError: Cannot read property of undefined 또는 Uncaught TypeError: this.myMethod is not a function와 같은 오류가 발생하게 됩니다.

|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 6년 전 조회 2,225
기타 6년 전 조회 1,805
기타 6년 전 조회 1,993
기타 6년 전 조회 2,208
기타 6년 전 조회 2,291
기타 6년 전 조회 1,810
기타 6년 전 조회 1,671
기타 6년 전 조회 2,135
기타 7년 전 조회 1,715
기타 7년 전 조회 1,535
기타 7년 전 조회 1,731
기타 7년 전 조회 1,414
기타 7년 전 조회 1,607
기타 7년 전 조회 1,341
기타 7년 전 조회 1,463
기타 7년 전 조회 1,325
기타 7년 전 조회 1,640
기타 7년 전 조회 1,384
기타 7년 전 조회 1,706
기타 7년 전 조회 1,679
기타 7년 전 조회 1,632
기타 7년 전 조회 3,512
기타
[기타]
7년 전 조회 3,158
기타 7년 전 조회 2,252
기타 7년 전 조회 1,941
CSS 7년 전 조회 2,931
CSS 7년 전 조회 2,128
HTML 7년 전 조회 3,471
CSS 7년 전 조회 2,604
CSS 7년 전 조회 2,392
🐛 버그신고