当前位置: 首页 > news >正文

手机网站制作哪家公司好wordpress 查件

手机网站制作哪家公司好,wordpress 查件,网站建设需求文档编写目的,免费可以看的软件大全下载runtime运行时,主要在packages/runtime-core目录下,核心提供了h、render等函数。在理解它们之前,我们需要了解下HTML DOM 树和虚拟 DOM等概念 HTML DOM 树 通过节点构成的一个树形结构,我们称为HTML DOM节点树。DOM 文档里面做了…

runtime运行时,主要在packages/runtime-core目录下,核心提供了hrender等函数。在理解它们之前,我们需要了解下HTML DOM 树虚拟 DOM等概念

HTML DOM 树

通过节点构成的一个树形结构,我们称为HTML DOM节点树。DOM 文档里面做了详细解释,这里就不再展开讲解,通过以下例子来简单理解:

<div> <h1>hello h1</h1> <!-- 这里是注释 --> hello div 
</div>

浏览器运行上述代码时,它会生成一个对应的DOM 树来展示:

在这里插入图片描述

虚拟DOM

虚拟 DOM 是一种编程概念,意为将目标所需的 UI 通过数据结构“虚拟”地表示出来,保存在内存中,然后将真实的 DOM 与之保持同步,详细解释可见 Vue文档

通过以下这个例子来说明:

可以看出虚拟 DOM 类似把真实 DOM 转换成一个 VNode 对象,该对象存在节点的类型type、子节点信息children等属性,而子节点有可能是字符串,也可能是包含其他子节点的数组

// 真实 DOM 
<div>text</div>// 虚拟 DOM 表示
const vnode = {type: 'div', // 父节点类型 divchildren: 'text' // 子节点内容 text
}// 真实 DOM
<div><h1>hello h1</h1><!-- TODO: comment -->hello div
</div>// 虚拟 DOM 表示 
const vnode = {type: 'div', // 父节点类型 divchildren: [ // 多个子节点{type: 'h1', // 子节点类型 h1children: 'hello h1' // 子节点内容 hello h1       },{type: Comment, // 子节点类型 Commentchildren: 'TODO: comment' // 子节点内容 TODO: comment       },'hello div'   // 子节点内容 hello div]
}

而在runtime运行时,渲染器render会遍历整个虚拟 DOM 树,并据此构建真实的 DOM 树,这个过程把它叫做挂载mount

当这个VNode对象发生变化时,那么我们会对比旧的 VNode新的 VNode之间的区别,找出它们之间的区别,并应用这其中的变化到真实的 DOM 上,这个过程被称为更新patch

h

Vue中转换为VNode对象就是通过h函数来完成的,通过调试来看下h函数的返回值:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><script src="../../dist/vue.global.js"></script></head><body><div id="app"></div><script>const { h } = Vuedebuggerconst vnode = h('div',{class: 'test'},'hello render')console.log(vnode)</script></body>
</html>

h函数定义在packages/runtime-core/src/h.ts文件中,它接收三个参数:

  • type: string | Component:既可以是一个字符串(用于原生元素),也可以是一个 Vue 组件定义
  • props?: object | null:要传递的 prop
  • children?: Children | Slot | Slots:子节点

该 vnode 如下:

在这里插入图片描述

最终VNode对象通过render函数渲染为真实 DOM,该render函数定义在packages/runtime-core/src/renderer.ts文件中,实际执行的是createRenderer方法,它接收两个参数:

  • vnode虚拟节点树,或者叫做虚拟 DOM 树
  • container承载的容器,真实节点渲染的位置
http://www.dtcms.com/a/610389.html

相关文章:

  • 优化 TDengine IDMP 面板编辑的几种方法​
  • 定制开发AI智能名片S2B2C预约服务小程序的定制开发与优势分析
  • 哪个做网站平台好电子商务与网站建设实践论文
  • 填充每个节点的下一个右侧节点指针(一)
  • 基于RFSOC47DR的射频采集卡
  • 东莞齐诺做网站网站做服装那个平台好一点
  • 长春模板网站建设企业网站开发难吗
  • 国外网站不需要备案吗看wordpress导出文章
  • DeepSeek-OCR私有化部署—从零构建OCR服务环境
  • Navicat 17 连接 SQL Server 后在导航栏中没有显示数据库表对象,如何解决?
  • 官方网站下载手电筒网站设置在哪
  • 如何建设阿里巴巴网站东莞现代建设有限公司
  • 【openGauss】让gsql和sqlplus输出包含有SQL及数据的完全一致的文本文件
  • LingJing(灵境)桌面级靶场平台新增靶机:加密攻防新挑战:encrypt-labs靶场,全面提升安全研究者的实战能力!
  • 高通SMD450 pop音问题回顾
  • 【LeetCode】将 x 减到 0 的最小操作数
  • Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明
  • GEO:抢占AI流量新入口,让品牌成为智能问答中的“标准答案”
  • 钓鱼网站免费空间公司做网站有意义么
  • 单片机超轻量级多任务操作系统实战指南
  • 如何下载各个版本MacOS系统安装包
  • 【Docker安装】Windows10专业版安装教程
  • 等差数列前n项的和
  • 库尔勒市建设路街道办网站邢台网站建设网络优化
  • 网站报301错误重庆妇科医院免费咨询
  • Opengl绘制流程
  • 使用AI来介绍AI
  • 废品回收系统小程序源码
  • 如何选择与使用C++编译器优化开发效率
  • 从“海量文书”到“精准数据”:文档智能抽取重塑车险核心竞争力