Vue2.0关于生命周期和钩子函数

Vue生命周期简介:


 

 

Vue1.0+和Vue2.0在生命周期钩子上的区别还是很大的,如下:

 


 

代码验证:

<!DOCTYPE html>

<html>

     <head>

        <meta charset="utf-8">

        <title></title>

        <script type="text/javascript"  src="https://cdn.jsdelivr.net/vue/2.1.3/vue.js"></script>

    </head>

  <body>

        <div id="app">

           <p>{{ message }}</p>

        </div>

       <script type="text/javascript">

         var app = new Vue({

            el:'#app',

            data:{

               message:"Toney is a girl"

            },

            beforeCreate:function(){

                 console.group('beforeCreat  创建前的状态======》');  //控制台输出的语句产生不同的层级嵌套关系

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

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

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

            },

           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("%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("%c%s","color:red","data : "+this.$data");  //已被初始化

              console.log("%c%s","color:red","message: "+this.message);  //已被初始化

           },

          beforeUpdate:function(){

              console.log("beforeUpdate 更新前状态======》");

              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);

          },

          updated:function(){

             console.log("updated  更新完成状态======》");

             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);

          },

          beforeDestory:function(){

             console.log("beforeDestory 销毁前状态======》");

             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);

          },

          destoryed:function(){

              console.log("destoryed 销毁完成状态======》");

              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);

          }

        })

      </script>

  </body> 


 

关于更新

在chrome console中输入命令:

 

app.message="I am a girl"

 


 

关于销毁

在chrome console中输入命令:

app.$destroy();

 


 

生命周期总结:

beforecreate: 例子:可以在这加个loading事件;

created:在这结束loading,还做一些初始化,实现函数自执行;

mounted: 在这发起后端请求,拿回数据,配合路由钩子做一些事情;

beforeDestory: 你确认删除XX吗? destoryed :当前组件已被删除,清空相关内容。

 

转载于:https://www.cnblogs.com/smileTonya/p/6868303.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生命周期钩子函数是在Vue组件的生命周期中执行的特定函数。根据引用和引用[2]的描述,生命周期钩子函数在不同的阶段被调用,并且每个阶段都有特定的事情要做。 根据引用中的图示,Vue 2.0版本的生命周期钩子函数包括: - beforeCreate: 在实例初始化之后,数据观测和事件配置之前被调用。 - created: 实例已经创建完成之后被调用。此时,实例已经完成数据观测,属性和方法的运算,watch/event事件回调。但是,此时还没有挂载完成,$el属性尚未创建。 - beforeMount: 在挂载开始之前被调用。在此阶段,模板编译已完成,但是尚未将编译后的模板渲染到视图中。 - mounted: 实例已经挂载到DOM上后被调用。此时,实例的$el属性已经创建,可以进行DOM操作。 - beforeUpdate: 在数据更新之前被调用,发生在虚拟DOM重新渲染和打补丁之前。可以在此阶段进行状态更新。 - updated: 在数据更新之后被调用,发生在虚拟DOM重新渲染和打补丁之后。可以在此阶段进行DOM操作。 - beforeDestroy: 在实例销毁之前被调用。此时,实例仍然完全可用。 - destroyed: 在实例销毁之后被调用。此时,实例已经解除所有事件监听器和所有子实例也被销毁。 这些生命周期钩子函数允许我们在组件的不同阶段进行一些操作,比如初始化数据、进行异步操作、监听事件、更新DOM等等。通过在这些钩子函数中编写逻辑,我们可以灵活地控制组件的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值