이 과정에서 Vue는 각각의 단계에서, Vue를 사용하는 사람들을 위해 훅(Hook)을 할 수 있도록 API를 제공합니다. 일반적으로 많이 사용하는 종류로는 beforeCreate, created, beforeMount, mounted, beforeUpdate, updated, beforeDestroy, destroyed가 있습니다.
var app = new Vue({
el: '#app',
data:{
message:'Hello vue.js',
list: ['사과','바나나','딸기'],
show: false
},
methods:{
handleClick:function(event){ console.log(event.target.value); }
},
beforeCreate: function(){
//데이터가 생기기 이전에 동작한다. 뷰가 인스턴스 된 순간 동작한다.
console.log(this.message) // undefined
}
created : function(){
// 데이터에 진입은 가능하지만, DOM이 아직 Render 되지 않은 상황.!
console.log(this.message) // Hello vue.js
}
beforeMount : function(){
//템플릿이 렌더링 함수로 컴파일 된 직후.
// Dom 접근 불가능.
console.log("beforeMounted")
},
mounted: function(){
//돔 트리를 볼 수 있다!.
console.log(this.$el);
},
mounted: function() {
this.$nextTick(function() {
// 모든 화면이 렌더링된 후 실행합니다.
})
}
beforeUpdate: function() {
console.log('beforeUpdate');
}
updated:function() {
console.log('updated');
}
data
를 조작한다면 무한 렌더링에 빠질 수 있어 유의해야합니다!. beforeDestroy: function() {
console.log('beforeDestroy');
}
destroyed:function() {
console.log('destroyed');
}
https://wormwlrm.github.io/2018/12/29/Understanding-Vue-Lifecycle-hooks.html