首页 > 其他分享 >虚拟dom的简易实现

虚拟dom的简易实现

时间:2023-04-19 20:25:16浏览次数:19  
标签:rDom item dom 简易 虚拟 props type children

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <body>     <!-- 一些项目比较大的话,操作真实dom就可能会繁琐一点点,可能也会卡顿 -->     <!-- 虚拟dom本质其实就是一个js对象 -->     <!-- 平时我们一些普通的dom结构举例如下 -->     <!--    <div class="box">                 <span>123</span>                 --678             </div> -->     <!-- 而虚拟对象则通过一个js对象来进行展示 -->     <!-- 普通的dom结构 其中的属性非常非常的多,有很多都用不到,所以说操作它可能会繁琐一些 -->
    <script>         // 虚拟Dom         const vDom = {             type: 'div',             props: {                 id: "box",                 className: 'box1'             },             children: [                 {                     type: 'span',                     props: {},                     children:['123']                 },                 '--678'             ]         }
        // 将虚拟Dom 转换为真实 Dom         function vDomTorDom({ type, props, children }) {             // 1、根据type创建标签             const rDom = document.createElement(type)             // 2、给当前真实dom添加属性             Object.keys(props).forEach(item => {                 rDom[item] = props[item]             })             // 3、添加子元素             children.forEach(item => {                 if (typeof item === "string") {                     const text = document.createTextNode(item)                     rDom.appendChild(text)                 } else {                     rDom.appendChild(vDomTorDom(item))                 }             })             return rDom         }
        // 将虚拟dom添加到页面中         document.body.appendChild(vDomTorDom(vDom))
    </script> </body> </html>

标签:rDom,item,dom,简易,虚拟,props,type,children
From: https://www.cnblogs.com/xlwg/p/17334490.html

相关文章

  • 虚拟数字人外包团队:AI埃隆VS乔布斯作品惊艳四座!
    AI马斯克对谈AI乔布斯,辩论人工智能对人类的威胁两位智者谈论AI是否能具有直觉和情感,一场久违的架空对话人工智能会产生威胁吗?AI埃隆马斯克对话AI乔布斯本团队长年承接AI数字人开发外包,欢迎咨询沟通,也欢迎技术交流! ......
  • dom
    dom节点-文档节点:整个Html文档-元素节点:Html文档中的HTML标签-属性节点:元素的属性-文本节点:Html标签中的文本内容dom树dom事件对象domDocument对象通过document对象调用获取元素节点window.onload()//会在整个页面加载完成之后才触发为window绑定一个on......
  • linux Irq domain
    文章引用:https://blog.csdn.net/longwang155069/article/details/105812097为什么会引入IRQ_domain?早期中断数量较少,所以可以分布在一个interrupt_controler,中断映射也很简单,每个中断号对应一个interrupt_controler。 而当一个系统中有多个interrupt-controller的时候,而且中......
  • hdoj 简易版之最短距离 2083 (取中位数)水
    简易版之最短距离TimeLimit:1000/1000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):15746    AcceptedSubmission(s):6979ProblemDescription寒假的时候,ACBOY要去拜访很多朋友,恰巧他所......
  • 虚拟化+docker概念基本介绍
    文章目录引言一、虚拟化简介1.1.虚拟化概述1.2.cpu的时间分片(cpu虚拟化)1.3.cpu虚拟化性性能瓶颈1.4.虚拟化工作原理虚拟化类型虚拟化功能二、Docker容器概述2.1Docker是什么2.2使用docker有什么意义2.3Docker的使用场景2.4Docker引擎(DockerEngine)2.5Docker三要素(核心组件......
  • git lfs简易使用教程
    参考资料:https://zzz.buzz/zh/2016/04/19/the-guide-to-git-lfs/这篇随笔简单记录一下gitlfs的使用教程,只记录最为常用的部分,并阐述原理,方便后面查阅。首先说明一下gitlfs的原理,看名称:gitlfs。lfs即LargeFileStorage,gitlfs扩展了git仓库的容量和功能性,使......
  • 本机复制的内容粘贴不到VMware虚拟机里面的解决办法
    分析VMware正确安装完linux虚拟机之后,这里以Ubuntu为例,如果你使用的默认配置,正常情况下就可以复制、粘贴和拖拽内容的,双方向都是支持的。如果不能复制和拖拽一般是vmwaretools没有正确安装导致。Vmwaretools灰色不能安装打开vmware,在主界面上点“虚拟机”,如下图所示“安装vmw......
  • Mac运行Windows用VMware Fusion Pro 13(VM虚拟机)
    VMwareFusionPro13是一款Mac电脑上的虚拟机软件,可以让用户在Mac操作系统上运行Windows、Linux等多种操作系统和应用程序。它提供了直观易用的用户界面和高级网络功能,还采用了最新的虚拟化技术以提供更快更稳定的性能。VMwareFusionPro13也具有多层安全保护,包括加密虚拟机和......
  • 虚拟化和云计算的结合,主要有什么优势?
    在当今市场上,客户需要各种灵活的基础设施和解决方案以快速适应不断变化的业务需求。通过有效利用资金上或各种IT相关的资源,云计算(提供服务的途径)和虚拟化(主要的使能技术)为客户提供了越来越多的业务灵活性。虚拟化从根本上来说就是对技术资产的最充分利用。获得虚拟化基础设施的投资......
  • 虚拟化就是云计算吗,两者之间有哪些不同之处?
    虚拟化就是云计算,这个说法很早就有,尤其商业厂商,vmware,微软,都是把以前叫虚拟化的产品,改名为云计算。其实某种意义上,也对,虚拟化是云计算的初级阶段。对于企业来说,虚拟化,其实就已经能完全满足需求,那其实这就是云计算。相信云计算也是有不同的阶段,不同的层次。......