Vue 인스턴스 라이프사이클 훅
인스턴스 라이프사이클 훅
각 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에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 77 | HTML |
|
19년 전 | 5146 | |
| 76 | HTML | 19년 전 | 6769 | ||
| 75 | HTML |
|
19년 전 | 6776 | |
| 74 | 기타 |
|
19년 전 | 5930 | |
| 73 | HTML | 19년 전 | 3712 | ||
| 72 | HTML |
|
19년 전 | 6296 | |
| 71 | HTML |
|
19년 전 | 3196 | |
| 70 | HTML |
|
19년 전 | 3505 | |
| 69 | HTML |
|
19년 전 | 2426 | |
| 68 | HTML |
|
19년 전 | 2728 | |
| 67 | HTML |
|
19년 전 | 2634 | |
| 66 | HTML |
|
19년 전 | 3145 | |
| 65 | HTML |
사랑과우정
|
19년 전 | 4740 | |
| 64 | HTML | 19년 전 | 13647 | ||
| 63 | HTML | 19년 전 | 3501 | ||
| 62 | HTML | 19년 전 | 3907 | ||
| 61 | HTML | 19년 전 | 4350 | ||
| 60 | HTML |
개발자관리자
|
19년 전 | 3599 | |
| 59 | HTML |
개발자관리자
|
19년 전 | 3790 | |
| 58 | HTML |
개발자관리자
|
19년 전 | 4103 | |
| 57 | HTML | 19년 전 | 5650 | ||
| 56 | HTML |
스마일미디어
|
19년 전 | 4133 | |
| 55 | HTML |
스마일미디어
|
19년 전 | 4028 | |
| 54 | HTML |
스마일미디어
|
19년 전 | 3689 | |
| 53 | HTML | 19년 전 | 3805 | ||
| 52 | HTML | 19년 전 | 5633 | ||
| 51 | HTML | 19년 전 | 5643 | ||
| 50 | HTML | 19년 전 | 4107 | ||
| 49 | HTML | 19년 전 | 5703 | ||
| 48 | HTML | 19년 전 | 3752 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기