美文网首页vue ech...
vue笔记-07(vue实例的生命周期)

vue笔记-07(vue实例的生命周期)

作者: 7ColorLotus | 来源:发表于2020-05-08 19:04 被阅读0次
  • 什么是生命周期:从VUE实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期
    • 生命周期钩子:就是生命周期事件的别名而已
    • 生命周期钩子=生命周期函数=生命周期事件
    • 主要的生命周期函数分类:
      • 创建期间的生命周期函数:
        1)beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好data和methods属性
        2)created:实例已经在内存中创建好,此时data和methods也已经创建好,此时还没有开始编译模板
        3)beforeMount:此时已经在内存中完成了模板的编译,但是还没有渲染到页面中
        4)mounted:此时,已经将编译好的模板,挂载到了页面指定的容器中显示,到此,实例就已经被完全的创建好了
      • 运行期间的生命周期函数:
        1)beforeUpdate:状态更新之前执行此函数,此时data中的状态值是最新的,但是界面上显示的数据还是旧的,因为此时还没有开始重新渲染DOM节点
        2)updated:实例更新完毕之后调用此函数,此时data中的状态值和界面上显示的数据,都已经完成了更新,界面已经被重新渲染好了
      • 销毁期间的生命周期函数:
        1)beforeDestory:实例销毁之前调用,在这一步,实例仍然完全可用,还没有执行真正的销毁过程
        2)destroyed:Vue实例销毁后调用,调用后,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
      • 生命周期流程图


        lifecycle.png
      • 生命周期流程函数演示代码
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>生命周期函数演示</title>
          <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
      </head>
      <body>
      <div id="app">
          <div id="msg">{{ msg }}</div>
          <input type="button" value="change" @click="changeMsg()">
      </div>
      
      <script>
          var vm = new Vue({
              el:"#app",
              data: {
                  msg : 'hello'
              },
              methods:{
                  sayHi(){
                      console.log("hi, vue!!")
                  },
                  changeMsg(){
                      this.msg = 'bye'
                  }
              },
              beforeCreate: function(){ //data和methods还没有构建初始化好
                  // console.log(this.msg) //异常无法正常调用
                  // this.sayHi() // 异常 无法正常调用
              },
              created(){ //vue 在内存中创建好了
                  // console.log(this.msg) //可以正常调用
                  // this.sayHi() // 可以正常调用
              },
              beforeMount(){//编译好模板前
                  // console.log(document.getElementById("msg").innerText) //无法正常获取,还没有编译模板
              },
              mounted(){//已经编译好模板,vue实例就已经被完全的创建好了
                  // console.log(document.getElementById("msg").innerText) //能够正常显示,
              },
              beforeUpdate(){ //状态更新之前执行此函数
                  // console.log(this.msg) //点修button调用changeMsg方法后,vm对象中的msg为新数据
                  // console.log(document.getElementById("msg").innerText) ////点修button调用changeMsg方法后,页面上显示数据还是老数据
              },
              updated(){//状态更新之后执行此函数
                  // console.log(this.msg) //点修button调用changeMsg方法后,vm对象中的msg为新数据
                  // console.log(document.getElementById("msg").innerText) ////点修button调用changeMsg方法后,页面上显示数据改为新数据
              },
              beforeDestory(){ //实例销毁前,实例中的所有数据和方法依然是可用的状态
                  //不好演示
              },
              destroyed(){ //实例完全被销毁后调用,实例中的所有数据和方法已经是不可用的状态
                  //不好演示
              }
      
          })
      </script>
      </body>
      </html>
      

相关文章

  • vue笔记

    vue笔记 一.vue实例 vue的生命周期 beforeCreate(创建前), created(创建后), b...

  • vue生命周期

    一 vue生命周期 Vue的生命周期:就是vue实例从创建到销毁的全过程 二 vue生命周期钩子 vue生命周期...

  • Vue

    Vue框架 一、Vue基础 添加Vue到网页(无需保存到本地) Vue生命周期 二、Vue 实例 创建Vue实例:...

  • 1、创建Vue实例

    title: 1、创建Vue实例date: 2017-07-25 09:10:40tags: vue笔记(妙味) ...

  • Vue.js入门(二):生命周期

    1 生命周期 Vue生命周期是Vue实例从创建到销毁的过程,就是生命周期。在Vue实例的生命周期过程中会运行生命周...

  • 一、vue基础知识点

    每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: 实例生命周期钩子 每个 Vue 实例...

  • vue学习第二课之vue的生命周期

    vue生命周期图解: vue实例的生命周期 什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样...

  • VUE实例生命周期钩子

    1、vue实例生命周期钩子的由来 每个vue应用都是通过vue函数创建一个新的vue实例开始的: vue实例再被创...

  • Vue生命周期

    vue生命周期 vue实例的创建到销毁的过程就是vue的生命周期,也就是实例创建-->初始化数据-->编译模板--...

  • Vue进阶

    Vue实例 Vue实例生命周期函数 Vue模板语法 Vue计算属性、方法、侦听器 Vue计算属性的setter和g...

网友评论

    本文标题:vue笔记-07(vue实例的生命周期)

    本文链接:https://www.haomeiwen.com/subject/azjqnhtx.html