Vue实例的生命周期

发布于:2022-12-20 ⋅ 阅读:(504) ⋅ 点赞:(0)

一.什么是Vue的生命周期

Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载 等⼀系列过程,称这是Vue的⽣命周期

二.生命周期和生命周期钩子的关系

生命周期钩子 = 生命周期函数 = 生命周期事件

三、主要的生命周期函数分类:

  1.创建期间的生命周期函数:

    1.beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好 data 和 methods 属性

    2.created:实例已经在内存中创建OK,此时 data 和 methods 已经创建OK,此时还没有开始 编译模板

    3.beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中

    4.mounted:此时,已经将编译好的模板,挂载到了页面指定的容器中显示

  2.运行期间的生命周期函数:

    5.beforeUpdate:状态更新之前执行此函数, 此时 data 中的状态值是最新的,但是界面上显示的 数据还是旧的,因为此时还没有开始重新渲染DOM节点

    6.updated:实例更新完毕之后调用此函数,此时 data 中的状态值 和 界面上显示的数据,都已经完成了更新,界面已经被重新渲染好了!

  3.销毁期间的生命周期函数:

  7.beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。

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

 

实例:

 

 

打印结果如下:

 

 

四.Vue.js中的挂载

1.定义:虚拟DOM与真实DOM建立关系,让Vue实例控制页面中某个区域的过程,称之为挂载。

2.方式:通过“ el:‘css选择器’ ”语句进行配置。

3.过程: 虚拟DOM,即一堆对象存储了一堆数据,然后这些数据用JS的API,比如createElement,创造出DOM,这个过程是挂载前的动作。

创造出的DOM还没有被使用,仅仅在内存中,需要“挂载”。 当最外层有一个叫app的id的DOM,挂载就是document.querySelector(“app”).appendChild(dom),即完成挂载。

【虚拟DOM】

1.虚拟DOM是为了解决浏览器性能问题而被设计出来的。

2.虚拟DOM,用普通JS对象来描述DOM结构,因为不是真实DOM,所以称之为虚拟DOM。

 

本文含有隐藏内容,请 开通VIP 后查看