前端框架VUE

53 阅读1分钟

一、Vue的生命周期

beforeCreate:new Vue()之后触发的第一个钩子,当前阶段data、methods、computed及watch中的数据和方法都不能被访问。

created: 实例创建完成后发生,此时完成了数据观测,可以使用或更改数据(此处更改数据不会触发updated函数),可以做一些数据初始化,当前阶段无法直接与Dom交互,若一定要则可通过nextTick来访问。

beforeMount:发生在挂载前,此时template模板已导入渲染函数编译,此时虚拟Dom已经创建完成,即将开始渲染,此时修改数据也不触发updated函数。

mounted:挂载完成,真实Dom挂载完毕,完成双向绑定,可访问Dom(使用$ref操作)

beforeUpdate:响应式数据发生更新、虚拟Dom重新渲染之前触发,当前阶段更改数据不会重渲染。

updated:Dom更新完成,避免此时更改数据,因为会导致无限循环更新。

beforeDestory:实例销毁之前,实例完全可被调用,在此进行善后工作,比如清除定时器。

destoryed: 实例销毁之后,只剩dom空壳。

二、Vue2/3响应式原理