Vue 인스턴스는 생성될 때 사전에 정의된 일련의 초기화 단계를 거치게 되는데 이를 라이프사이클 이라고 한다.
Vue 인스턴스는 크게 생성되고(create), DOM에 부착되고(mount), 업데이트되며(update), 없어지는(destroy) 4가지 과정을 거친다.
각각의 단계에서 Vue는, Vue를 사용하는 사람들이 정의한 로직을 실행하도록 == [훅(Hook)을 할 수 있도록] API를 제공한다. 이를 라이프사이클 훅 이라고 한다.
일반적으로 많이 사용하는 종류로는 created
, Mounted
, beforeUpdate
, Updated
, beforDestroy
가 있다.
var app = new Vue({
el: '#app',
data() {
return {
msg: 'hello';
}
},
created(function() {
console.log(this.msg); // hello
})
})
this.$el
에도 접근 가능!this.$nextTick
을 이용하면 모든 렌더링을 보장할 수 있다.var app = new Vue({
el: '#app',
mounted(function() {
this.$nextTick(function() {
// 모든 화면이 렌더링된 후 실행합니다.
})
})
})
var app = new Vue({
el: '#app',
beforeUpdate(function() {
console.log('beforeUpdate');
})
})
var app = new Vue({
el: '#app',
updated(function() {
console.log('beforeUpdate');
})
})
var app = new Vue({
el: '#app',
beforeDestroy(function() {
console.log('beforeDestroy');
})
})