vue2的生命周期详解(代码演示+源码)2024-01-23

<template>

  <div>

    <div id="test">{{name}}</div>

    <el-button @click="name='点击更新的内容'">更新内容</el-button>

  </div>

</template>

<script>

  export default {

    data() {

      return {

        name: '暴怒的代码'

      }

    },

    render(h) {

      return h('div', [

        h('h1', this.name),

        h('button', {

          on: {

            click: () => {

              alert('点击了我')

            }

          }

        }, 'Click me')

      ]);

    },

    beforeCreate() {

      console.log('------------------初始化阶段------------------')

      //这里data 和 methods 中的数据还没有初始化,所以输出的应该是undefined

      console.log(`这是beforeCreate的执行:${this.name}`)

    },

    created() {

      //这里数据已经初始化了,可以输出data中的内容

      console.log(`这是Create的执行:${this.name}`)

      //因为在created()中还没有渲染到DOM页面,所以在渲染前修改,选的数据是下面的内容

      this.name = '在渲染到DOM之前就修改内容'

    },

    beforeMount() {

      console.log('------------------挂载阶段------------------')

      //开始编译数据,但是当前数据只在内存中渲染,并没有真实的渲染到html页面上

      console.log(`这是beforeMount的执行:${document.getElementById('test').innerText}`)

    },

    mounted() {

      //获取到数据,内存中的数据真实的挂载到页面中,Vue实例创建完成

      console.log(`这是mounted的执行:${document.getElementById('test').innerText}`)

    },

    beforeUpdate() {

      console.log('------------------更新阶段------------------')

      //页面上的数据还是以前的,内存中的数据是最新的

      console.log(`这是beforeUpdate的执行,页面数据:${document.getElementById('test').innerText}`)

      console.log(`这是beforeUpdate的执行,data数据:${this.name}`)

    },

    updated() {

      //页面上的数据和内存中的数据都是最新的

      console.log(`这是updated的执行,页面数据:${document.getElementById('test').innerText}`)

      console.log(`这是updated的执行,data数据:${this.name}`)

    },

    beforeDestroy() {

      console.log('------------------销毁阶段------------------')

      // 仍可以使用data与method方法

      console.log(`这是beforeDestroy的执行:${this.name}`)

    },

    destroyed() {

      // 已经销毁data与method方法

      console.log(`这是destroyed的执行:${this.name}`)

    },

  }

</script>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Vue 生命周期 从生到死的过程,从Vue实例创建-运行-销毁的过程 Vue实例有一个完整的生命周期,也就是从开始...
    前端菜菜1号阅读 2,548评论 0 0
  • 什么是生命周期:从VUE实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期生命周期钩子...
    7ColorLotus阅读 1,796评论 0 1
  • beforeCreate 第一个生命周期函数,表示实例完全被创建出来之前,会执行它 注意: 在 beforeCre...
    donzi阅读 1,873评论 0 0
  • 什么是生命周期:从Vue实例创建、运行到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期! 生命周期钩...
    Flipped_kk阅读 1,877评论 0 4
  • <!DOCTYPE html> Title {{msg}} /...
    点木子阅读 721评论 0 0

友情链接更多精彩内容