热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue3.0的生命周期

newVue()new一个vue实例化对象initEvent&Lifecycle执行一些初始化和生命周期相关的操作beforeCreate组件实例刚刚被创建出来
  1. new Vue()
    new一个vue实例化对象

  2. init Event & Lifecycle
    执行一些初始化和生命周期相关的操作

  3. beforeCreate
    组件实例刚刚被创建出来
    执行一些初始化和生命周期相关的操作

  4. init injections & reactivity
    初始化注入和校验

  5. created
    data数据属性已经绑定,放在data中的属性当值发生改变的同时,视图也会改变
    组件实例创建完成,属性已经绑定,但是DOM还没有生成,$el属性还不存在
    此时还没有创建el

  6. Has "el" option?
    判断是否存在el
    如果有的话,就向下编译
    如果没有el,则停止编译,也就意味着停止了生命周期,直到在该vue实例上调用vm.$mount(el)

    如果注释掉el:"#app",程序到created就停止了

  7. Has "template" option?
    判断是否有template?
    如果有template,则将其编译成render函数
    如果没有template,则将外部的HTML作为模板编译
    template中的模板优先级要高于outer HTML的优先级

  8. Compile template into render function
    在vue对象中还有一个render函数,它是以createElement作为参数,然后做渲染操作
    render函数选项 > template选项 > outer HTML.

  9. beforeMount
    beforeMount之前el上还是undefined

  10. Create vm.$el and replace "el" with it
    给vue实例对象添加$el成员,并且替换掉挂在的DOM元素

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

12.beforeUpdate
当vue发现data中的数据发生了改变,会触发对应组件的重新渲染,先后调用beforeUpdate和updated钩子函数。

  1. Update

    beforeUpdate,可以监听到data的变化但是view层没有被重新渲染,view层的数据没有变化。等到updated的时候 view层才被重新渲染,数据更新。

  2. beforeDestory
    beforeDestroy钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。

  3. Destroyed
    destroyed钩子函数在Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。


推荐阅读
author-avatar
我是谁的宝贝儿呢颓
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有