Vue面试题积累

1、Vue生命周期相关:

  1、什么是Vue生命值周期:

    Vue实例在运行时分为了三个阶段(创建、运行、销毁阶段),三个阶段的总和就是生命周期

  2、每个阶段代表什么意思:

    创建阶段由空白期、data初始化、methods初始化、模板渲染等组成

    运行阶段分为 更新前 和 更新后 两部分 

    销毁阶段分为 销毁前 和 销毁后 

  2、每个阶段的具体成员方法:

    创建:beforeCreate、 created、 beforeMount、 mounted

    运行:beforeUpdate、updated

    销毁:beforeDestroy、destroyed

  3、每个钩子函数所代表的含义:

    创建阶段:(  创建期间的生命周期函数:(特点:每个实例一辈子只执行一次,并且是自动的)  )

      beforeCreate:Vue实例对象已创建完毕,但相关成员都没有,el、data、methods等等都没有

      created:此时,data 和 methods 已经创建好了,可以被访问,但是还没有去找div容器,在此处非常适合做data数据初始化操作

      beforeMount:代表div容器被Vue实例抓取到了,正在做编译解析,但是还没有往回(div容器)渲染。(所以div容器的内容还是没有编译前的原生内容)

      mounted:Vue实例已经完成了对div容器的内容编译,并且编译好的内容也渲染给div容器了,是操作初始DOM元素的最好时机

    运行阶段:( 运行阶段不会自动执行,当data数据发生变化,就执行了,数据变化多次,方法也会重复执行多次 )

      beforeUpdate:数据变化前的感知钩子函数  ( 根据最新的数据重新解析渲染浏览器页面,此时 vue虚拟数据是最新的,但是页面还是旧的 )

      updated:数据变化后的感知钩子函数  ( 页面已经完成了更新,此时data数据和页面都是最新的 )

    销毁阶段:(  当vue被销毁后,就要执行这两个方法。本身不会自动执行 销毁的方法:vm.$destroy()  )

      beforeDestroy:将要销毁,处于销毁之前阶段,实例还正常可用

      destroyed:销毁之后,Vue实例已经不工作了

  4、Virtual DOM

    大白话:div容器在vue实例内部始终存在的状态就是Virtual DOM,它具体是内存信息的体现。

    作用:1、编译解析div容器,并渲染给浏览器   2、响应式的体现 (当data数据改变时,虚拟dom会做对比,然后局部更新数据)

    文档解释:"Virtual DOM(虚拟DOM)",其是Vue实例获取到的div容器,是虚拟的(不是页面实实在在看到的),该VirtualDOM 在Vue的生命周期运行阶段始终存在,随时感知数据变化,随时同步给页面

posted @ 2021-03-26 17:00  不灭火  阅读(72)  评论(0)    收藏  举报