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的生命周期运行阶段始终存在,随时感知数据变化,随时同步给页面