位置: IT常识 - 正文

如何理解虚拟DOM(如何理解虚拟存储的虚拟)

编辑:rootadmin
如何理解虚拟DOM 一、js 操作DOM

推荐整理分享如何理解虚拟DOM(如何理解虚拟存储的虚拟),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何理解虚拟变量陷阱,如何理解虚拟变量陷阱,如何理解虚拟实践,如何理解虚拟性的表演,如何理解虚拟资本的概念,如何理解虚拟实践,如何理解虚拟政府模式,如何理解虚拟实践的客观实在性,内容如对您有帮助,希望把文章链接给更多的朋友!

假如现在你需要写一个像下面一样的表格的应用程序,这个表格可以根据不同的字段进行升序或者降序的展示。

如何理解虚拟DOM(如何理解虚拟存储的虚拟)

这个应用程序看起来很简单,你可以想出好几种不同的方式来写。最容易想到的可能是,在你的 JavaScript 代码里面存储这样的数据:

var sortKey = "new" // 排序的字段,新增(new)、取消(cancel)、净关注(gain)、累积(cumulate)人数var sortType = 1 // 升序还是逆序var data = [{...}, {...}, {..}, ..] // 表格数据

用三个字段分别存储当前排序的字段、排序方向、还有表格数据;然后给表格头部加点击事件:当用户点击特定的字段的时候,根据上面几个字段存储的内容来对内容进行排序,然后用 JS 或者 jQuery 操作 DOM,更新页面的排序状态(表头的那几个箭头表示当前排序状态,也需要更新)和表格内容。

这样做会导致的后果就是,随着应用程序越来越复杂,需要在JS里面维护的字段也越来越多,需要监听事件和在事件回调用更新页面的DOM操作也越来越多,应用程序会变得非常难维护。后来人们使用了 MVC、MVP 的架构模式,希望能从代码组织方式来降低维护这种复杂应用程序的难度。但是 MVC 架构没办法减少你所维护的状态,也没有降低状态更新你需要对页面的更新操作(前端来说就是DOM操作),你需要操作的DOM还是需要操作,只是换了个地方。

既然状态改变了要操作相应的DOM元素,为什么不做一个东西可以让视图和状态进行绑定,状态变更了视图自动变更,就不用手动更新页面了。这就是后来人们想出了 MVVM 模式,只要在模版中

本文链接地址:https://www.jiuchutong.com/zhishi/297636.html 转载请保留说明!

上一篇:Java web入门:在Idea上创建Java web项目(java webflux)

下一篇:Vue生命周期,总也学不会,所以我详细整理了一下(vue生命周期分别做了什么)

  • 小规模30万免税包括30万吗
  • 企业所得税纳税人
  • 跨年度冲红的账务处理
  • 政府专项补助资金需要交所得税吗
  • 误餐补助缴个税怎么申报
  • 个体工商户需要报税吗
  • 高管个人所得税政策
  • 金融行业打包是什么意思
  • 受托代为投资账务处理
  • 往来款少付零头怎么入账
  • 增值税调整后开具发票
  • 进口环节关税税率
  • 个人到税务局怎么开增值税普通发票
  • 农产品流通环节税收优惠政策
  • 代开的专票怎么做账?
  • 降低房租
  • 开票满500万一定会升一般纳税人吗
  • 进项税额转出的
  • 收到人民政府寄来的ems
  • 免征增值税项目销售额含税吗
  • 资产负债表中的预付款项目应根据什么填列
  • 升级设备属于什么科目
  • 远期外汇合约套期会计分录
  • 员工产假期间工资是社保局发吗
  • 预付款比例怎么算
  • 没有收入该怎么办
  • 增值税税率简易征收
  • 旅行社开的发票怎么入账
  • 购买预付卡如何记账
  • 总部资产减值测试例题
  • mediabrowser.exe是什么
  • Waterfalls at the source of the Mundo River, Sierra de Riopar, Albacete, Spain (© Westend61/Getty Images)
  • 设计部工资计入什么费用
  • 小规模纳税人的个人所得税怎么算
  • 在php中提供了什么函数用于删除数组中的元素
  • 浅析中国式现代化的理论价值与现实意义
  • phpexcel导入
  • 小企业会计制度和企业会计制度的区别
  • 工地装饰工程包括哪些
  • 明细账怎么补登
  • 电子税务局增值税抵扣流程
  • 股东权益合计等于净资产吗
  • 企业所得税季度申报数据怎么来
  • 按信用风险特征组合
  • 研发费用的核算方法
  • 安全生产费会计准则
  • 连锁药店成本会计
  • 固定资产清理产生的收入计入
  • 固定资产的税法处理与会计处理的差异50字
  • 纳税申报表中的销售额
  • 建账基本要求
  • mysql基本表
  • mysql免安装版本
  • win8系统连接不了网络
  • centos直接进入命令行
  • 微软平板电脑surface pro2参数
  • 运行方式包括什么方式
  • 删除隐藏文件命令
  • win8查看系统版本
  • w8系统ie浏览器在哪
  • Win7系统可以装ie10浏览器么
  • win10正式版发布时间
  • linux git管理工具
  • cocos2dx 3.1 cpp版本转lua版本 mac
  • perl读取文件内容到数组
  • Eclipse开发工具安装
  • android adbd
  • Android Fragment学习笔记(2) ----使用ListFragment显示列表(上)
  • jqueryw3c
  • java栈怎么写
  • 在javascript中
  • mac怎么编写python
  • javascript要怎么学
  • python类的理解
  • js动态创建script标签
  • 等待窗口
  • 安卓开发主要做什么
  • python dict.get()和dict['key']的区别详解
  • javascript模块化与非模块化开发区别
  • 深圳市税务局网上办税大厅官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设