<div id="app">
{{ message }}
</div>
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
},
beforeCreate: function() {
console.log('--------------beforeCreate----------------');
console.log(this.$el);
console.log('data: ' + this.$data);
console.log('message: ' + this.message);
},
created: function() {
console.log('--------------created----------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
},
beforeMount: function() {
console.log('--------------beforeMount-----------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
},
mounted: function() {
console.log('--------------mounted---------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
},
beforeUpdate: function() {
console.log('--------------beforeUpdate----------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
},
updated: function() {
console.log('--------------updated---------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
},
beforeDestroy: function() {
console.log('--------------beforeDestroy---------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
},
destroyed: function() {
console.log('--------------destroyed-------------');
console.log(this.$el);
console.log('data: ' + JSON.stringify(this.$data));
console.log('message: ' + this.message);
}
})
demo.png
update.png
destroy.png
lifecycle.png
beforeCreate | created | beforeMount | mounted | beforeUpdate | updated | beforeDestroy | destroyed |
---|---|---|---|---|---|---|---|
data observer & event/watcher 事件配置之前 | data observer & event/watcher 完成,$el不可见 | $el可见,挂载之前 | 挂载完成 | 数据更新,DOM未渲染 | DOM已渲染 | 实例销毁前,实例仍可用 | 解绑完成 |
网友评论