vue的生命周期

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>生命周期</title>
  </head>
  <body>
  <div class="app">
     {{a}}
     <input type="text" v-model="a"  name="" value="a">
  </div>
  </body>
  <script src="js/vue.js" charset="utf-8"></script>
  <script type="text/javascript">
    //Vue的生命周期
    //它可以总共分为8个阶段:
    //beforeCreate(创建前),
    //created(创建后),
    //beforeMount(载入前),
    //mounted(载入后),
    //beforeUpdate(更新前),
    //updated(更新后),
    //beforeDestroy(销毁前),
    //destroyed(销毁后)
    //然后用一个实例的demo 来演示一下具体的效果:

    //created:异步数据的获取、初始化
    //mounted:挂载元素内dom节点的获取
    //nextTick:更新数据后立即操作dom
    //updated:任何数据的更新,如果要做统一的业务逻辑处理
    //watch:监听具体数据变化,并做相应的处理
    var vm=new Vue({
      el:'.app',
      data:{
        a:'vue值'
      },
      beforeCreate:function(){
        console.group('beforeCreate创建前状态===============》');
        console.log("a:"+this.a); //a:undefined
        console.log(this.$el)      //undefined
      },
      created:function(){
        console.group('created创建后状态===============》');
        console.log("a:"+this.a); //a:vue值
        console.log(this.$el)     //undefined
      },
      beforeMount:function(){//钩子函数间的生命周期
        console.group('beforeMount挂载前状态===============》');
        console.log("a:"+this.a); //a:vue值
        console.log(this.$el)      //<div class="app">{{a}} <input type="text" v-model="a" name="" value="a"></div>
      },
      mounted:function(){//钩子函数间的生命周期
        console.group('mounted挂载结束状态===============》');
        console.log("a:"+this.a);//a:vue值
        console.log(this.$el)     //<div class="app"> vue值 <input type="text"  value="a"></div>
      },
      beforeUpdate:function(){//钩子函数间的生命周期
        console.group('beforeUpdate更新前状态===============》');
        console.log("a:"+this.a);//a:vue值2
        console.log(this.$el)     //<div class="app"> vue值2 <input type="text"  value="a"></div>
      },
      updated:function(){//钩子函数间的生命周期
        console.group('updated更新后状态===============》');
        console.log("a:"+this.a); //a:vue值2
        console.log(this.$el)     //<div class="app"> vue值2 <input type="text"  value="a"></div>
      },
      beforeDestroy:function(){//钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。
        console.group('beforeDestroy销毁前状态===============》');
        console.log("a:"+this.a);
        console.log(this.$el)
      },
      destroyed:function(){//钩子函数在Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,
                            //所有的事件监听器会被移除,所有的子实例也会被销毁。
        console.group('destroyed销毁后状态===============》');
        console.log("a:"+this.a);
        console.log(this.$el)
      }
    });
  </script>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色咖啡 Ken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值