2019-06-07Vue实例的生命周期

2019-06-08  本文已影响0人  啊_6424

什么是生命周期?

从vue实例创建,运行,到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期。
生命周期钩子:就是生命周期事件的别名而已。

主要的生命周期分类:
图片一
图片二 图片三 图片四 销毁
<!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.jsdelivr.net/npm/vue"></script>
  <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
</head>
<body>
  <div id="app">
    <input type="button" value="改变msg" @click="msg = 'No'">
    <p id="p">{{ msg }}</p>
  </div>
</body>
</html>
<script>
new Vue({
  el: "#app",
  data:{
    msg:"123"
  },
  methods:{
    show(){
      console.log("执行了show方法");
    }
  },
  beforeCreate() {
    //在这里面,data 和 methods 中的数据都还没有被初始化
    // console.log(this.msg);//undefined
    // this.show();//报错不是一个function
  },
  created() {
    //能正常运行
    //如果需要操作data里的数据或者是调用methhods里的方法,最早只能在这里面
    console.log(this.msg);
    this.show();
  },
  beforeMount(){
    console.log(document.getElementById("p").innerText);//{{ msg }}
  },
  mounted() {
    //是实例创建期间的最后一个函数,当执行完它后,就表示实例已经被完全创建好了,此时如果没有其他操作的话,实例就在内存中一动不动
    console.log(document.getElementById("p").innerText);//123
  },
  //运行中的两个事件
  beforeUpdate() {
    //页面没有被更新,但data里的数据改变了
    console.log("页面元素中的数据", document.getElementById("p").innerText);//页面元素中的数据 123
    console.log("data里的数据",this.msg);//data里的数据 No
  },
  updated(){
    console.log("页面元素中的数据", document.getElementById("p").innerText);//页面元素中的数据 No
    console.log("data里的数据",this.msg);//data里的数据 No
  }
});
</script>

creatd(),mounted()

上一篇 下一篇

猜你喜欢

热点阅读