<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>vue生命周期学习</title> <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script> </head> <body> <div id="app"> <h1>{{message}},这是在outerHtml中</h1> </div> </body> <script> var app = new Vue({ el: ‘#app‘, data: { message: 10 }, beforeCreate: function() { console.group(‘------beforeCreate创建前状态------‘); console.log("%c%s", "color:red" , "el : " + this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message) }, created: function() { console.group(‘------created创建完毕状态------‘); console.log("%c%s", "color:red","el : " + this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message); }, beforeMount: function() { console.group(‘------beforeMount挂载前状态------‘); console.log("%c%s", "color:red","el : " + (this.$el)); console.log(this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message); }, mounted: function() { console.group(‘------mounted 挂载结束状态------‘); console.log("%c%s", "color:red","el : " + this.$el); console.log(this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message); }, beforeUpdate: function () { console.group(‘beforeUpdate 更新前状态===============》‘); console.log("%c%s", "color:red","el : " + this.$el); console.log(this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message); }, updated: function () { console.group(‘updated 更新完成状态===============》‘); console.log("%c%s", "color:red","el : " + this.$el); console.log(this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message); }, beforeDestroy: function () { console.group(‘beforeDestroy 销毁前状态===============》‘); console.log("%c%s", "color:red","el : " + this.$el); console.log(this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message); }, destroyed: function () { console.group(‘destroyed 销毁完成状态===============》‘); console.log("%c%s", "color:red","el : " + this.$el); console.log(this.$el); console.log("%c%s", "color:red","data : " + this.$data); console.log("%c%s", "color:red","message: " + this.message) } }) </script> </html>
beforeCreate
created
没有el
(2)除了el,我们还会用到template,template对生命周期的影响如下:
template代码
注:综合排名优先级:render函数>template选项>outer Html
mount
app.message=20
来触发update事件。输出如下图:update
destroy
beforeRouteEnter (to, from, next) { # 在导航确认前被调用,即将挂载的新组件还没被创建。 # 不能获取组件实例 `this` # 因为当守卫执行前,组件实例还没被创建 }, beforeRouteUpdate (to, from, next) { # 在当前路由改变,但是该组件被复用时调用 # 可以访问组件实例 `this` }, beforeRouteLeave (to, from, next) { # 导航离开该组件的对应路由时调用 # 可以访问组件实例 `this` }
原文:https://www.cnblogs.com/jianguo221/p/11782523.html