vue生命周期
2022/5/10 23:02:27
本文主要是介绍vue生命周期,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
vue的生命周期是什么呢?
在vue的创建,使用,销毁过程中,会有许多事件,这些事件就被统称为生命周期函数,也叫作生命周期钩子。
一般来说,生命周期包括:
beforeCreat created beforeMount mounted beforeUpdate updated beforeDestory destoryed
首先,我们可以进行简单的归类:
创建期间生命周期函数:beforeCreat,created,beforeMount,mounted 运行期间生命周期函数:beforeUpdate,updated 销毁期间生命周期函数:beforeDestroy,destroyed
创建阶段:
第一个生命周期函数:beforeCreat,当执行beforeCreat生命周期函数时,vue实例 还没有被完全创建出来,此时data,methods等内部没有初始化,我们这个时候在函数 内调用数据的话,后台会显示undefined。把data选项上的属性放到this上,遍历data 选项,给每个属性添加getter/setter(劫持) 第二个生命周期函数:created,执行这个函数的时候,vue实例已经初始化了,可以在 这里调用数据,不过还没渲染到页面上。 在当前函数中我们可以访问到data中的属性, 此时,会将data中的属性和methods的方法添加到vue的实例身上,同时会将data中所 有的属性添加一个getter/setter方法。如果需要进行前后端上数据交互(ajax请求的 时候) 需要在当前生命周期中使用。找el、找template,得到有效的视图结构,把 template选项编译成render函数(为了生成虚拟DOM作准备) 第三个生命周期函数:beforeMount,这时,调用render方法第一次生成虚拟DOM,vue 已经将模板字符串编译成内存DOM,模板已经编译完成,还没有渲染到页面上。 'ps:什么是虚拟dom?本质上就是一个json数据,用于描述视图结构,保存在视图中 为什么要使用虚拟dom呢?有了虚拟dom,就可以避免我们频繁的操作dom,降低人为的dom 滥用,可以提升web的性能。根据虚拟dom结构,第一次初始化视图结构(生成真实的dom), 这里会产生第一次的touch,toach的结果是依赖收集' 第四个生命周期函数:mounted,创建阶段完成,页面渲染完毕,进入运行阶段。此时 我们可以通过$refs来访问到真实的DOM结构。ref类似与id一样 值必须是唯一的,访问 的时候我们可以使用this.$refs.属性
运行阶段
当数据发生变化,比如触发了点击事件改动数据 beforeUpdate:内存中的数据已经改变,页面上的还没更新根据新的data,render生成新 的虚拟DOM,此时在电脑内存中就有了两个虚拟DOM。patch(newVnode、oldVnode) => diff, 使用diff运算找出新旧虚拟DOM之间的最小差异,通知Watcher来更新它们,视图再次更新完成。 updated:页面上数据和内存中的一致,条件:当路由切换或调用this.$destroy()时
销毁阶段
beforeDestroy:出发这个函数时,还没开始销毁,此时刚刚脱离运行阶段。data,methods, 指令之类的都在正常运行。在这个生命周期函数中我们可以将绑定的事件进行移除。清除缓存, 关闭定时器。拆卸掉当前组件对应的Watcher、解绑当前组件中事件处理器;递归拆卸掉(强制 销毁)所有的子组件。 destroyed:组件销毁完毕,data,methods,指令之类的不可用。
这篇关于vue生命周期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程