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

· 2019-01-11 (금) 18:17:34 · 1856

인스턴스 라이프사이클 훅


각 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와 같은 오류가 발생하게 됩니다.

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

퍼블리셔팁

1,282건

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

+
분류 제목 글쓴이 날짜 조회
기타 19-02-04 조회 4,409
기타 19-02-04 조회 6,732
기타 19-01-31 조회 2,958
기타 19-01-31 조회 2,877
기타 19-01-31 조회 2,367
기타 19-01-28 조회 2,815
기타 19-01-28 조회 2,621
기타 19-01-28 조회 2,654
기타 19-01-24 조회 2,635
기타 19-01-24 조회 2,384
기타 19-01-24 조회 2,725
기타 19-01-23 조회 2,271
기타 19-01-23 조회 2,448
기타 19-01-23 조회 2,623
기타 19-01-22 조회 2,718
기타 19-01-22 조회 2,210
기타 19-01-22 조회 2,092
기타 19-01-21 조회 2,569
기타 19-01-16 조회 2,162
기타 19-01-16 조회 1,915
기타 19-01-16 조회 2,120
기타 19-01-12 조회 1,811
기타 19-01-12 조회 2,017
기타 19-01-12 조회 1,734
기타 19-01-11 조회 1,857
기타 19-01-11 조회 1,778
기타 19-01-11 조회 2,073
기타 19-01-10 조회 1,797
기타 19-01-10 조회 2,130
기타 19-01-10 조회 2,119