vue 生命周期钩子用法以及执行顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 生命周期钩子用法以及执行顺序相关的知识,希望对你有一定的参考价值。

参考技术A    data:

          message : "lalalala"

      ,

     beforeCreate: function ()

                console.group('beforeCreate 创建前状态===============》');

              console.log("%c%s", "color:red" , "el    : " + this.$el); //undefined

              console.log("%c%s", "color:red","data  : " + this.$data); //undefined

              console.log("%c%s", "color:red","message: " + this.message) 

        ,

       created: function ()

            console.group('created 创建完毕状态===============》');

            console.log("%c%s", "color:red","el    : " + this.$el); //undefined

              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)

       

 1. beforeRouteLeave:路由组件的组件离开路由前钩子,可取消路由离开。

 2. beforeEach: 路由全局前置守卫,可用于登录验证、全局路由loading等。

 3. beforeEnter: 路由独享守卫

 4. beforeRouteEnter: 路由组件的组件进入路由前钩子。

 5. beforeResolve:路由全局解析守卫

 6. afterEach:路由全局后置钩子

 7. beforeCreate:组件生命周期,不能访问this。

 8. created:组件生命周期,可以访问this,不能访问dom。

 9. beforeMount:组件生命周期

10. deactivated: 离开缓存组件a,或者触发a的beforeDestroy和destroyed组件销毁钩子。

11. mounted:访问/操作dom。

12. activated:进入缓存组件,进入a的嵌套子组件(如果有的话)。

13. 执行beforeRouteEnter回调函数next。

以上是关于vue 生命周期钩子用法以及执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Vue 的父组件和子组件生命周期钩子执行顺序

简单记录一下vue生命周期及 父组件和子组件生命周期钩子执行顺序

Vue 的父组件和子组件生命周期钩子执行顺序

Vue父子组件生命周期执行顺序

VUE生命周期中的钩子函数及父子组件的执行顺序

Vue 的父组件和子组件生命周期钩子执行顺序