zoukankan      html  css  js  c++  java
  • Vue 3.0 的生命周期

    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钩子函数。
    13. Update

    beforeUpdate,可以监听到data的变化但是view层没有被重新渲染,view层的数据没有变化。等到updated的时候 view层才被重新渲染,数据更新。
    
    1. beforeDestory
      beforeDestroy钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。

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

  • 相关阅读:
    Mac Office2016 安装及破解
    Axure 下载安装
    MacBook Pro常用快捷键
    MySQL 关于case when结合group by用时的写法举例
    RFID第二次作业
    Javascript函数柯里化(curry)
    binarySearch二分查找——Javascript实现
    KMP算法——Javascript实现
    从输入 URL 到页面加载完成的过程中都发生了什么事情?
    丁又专老师作业——Java检测代码
  • 原文地址:https://www.cnblogs.com/weihengblog/p/9241136.html
Copyright © 2011-2022 走看看