| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 总结:虚拟DOM和生命周期 -> 正文阅读 |
|
[JavaScript知识库]总结:虚拟DOM和生命周期 |
在之前的文章中讲过很多相关Vnode和虚拟DOM的内容,以及生命周期,简单地来进行总结一下。 温故而知新,可以为师矣。 一.什么是虚拟DOM?简单地来说是一个JS对象,用来描述文本中DOM的一些信息。当页面中的数据发生更新的时候会使用到虚拟DOM,我们暂且叫它是Vnode,当页面渲染的时候也会产生一份Vnode,我们暂且叫他oldVnode。页面中的数据更新的时候,新旧两份Vnode会进行对比。通过Diff算法生成一份新的虚拟DOM然后在渲染到页面上去。很大一部分上节省了性能,这也是Vue的优点,能够操作Js对象来达到页面的更新,脱离了直接操作DOM,大大提升了性能,以及开发的成本。 二.什么是真实DOM?页面中我们能够清晰的去看见,获取。 三.Vue组件渲染的流程和生命周期Vue的渲染流程: 模板(template)------->编译----------->AST------------->vnode-------------->真实的DOM 生命周期的流程: 四个阶段: 初始化----------------->挂载--------------------->更新--------------------------->销毁 在以前的文章也分析过:在beforeMount模板已经编译完成,这样是最后一次更改数据的机会,此时 有挂载,也不能获取到真实的DOM,此时也不能获取到真实DOM,到了Mount阶段,编译完成也能够获取道真实DOM,这也对应着Vue的渲染流程。没 更新: 当页面中的数据发生了更新,刚开始的真实的DOM对应着一份虚拟的Vnode,更新之后产生的一Vnode,两个Vnode通过Diff算法,生成一份新的虚拟Dom达到最理想的渲染,此时获取的DOM还是以前没更新之前的。 如果想要获取到最新的可以使用this.$nextTick(()=>{})这个api,来获取到更新之后的最新DOM。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:31:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |