位置: 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生命周期分别做了什么)

  • 简易征收办法征税货物销售额
  • 车险车船税会计分录
  • 累计净值包含业务收入吗
  • 事业单位补提折旧怎么处理
  • 出口业务运费可以抵扣吗
  • 个人打钱对公账户,可以算公司营业收入吗
  • 定额中税金包含什么
  • 支付违约金未取得正规发票能不能在税前列支
  • 公司代扣代缴个人所得税如何退税
  • 建筑公司收到劳务费
  • 专利转让费用能否计入研发
  • 汽车的高速公路是指
  • 视同销售可以抵扣销项税吗?
  • 小微企业劳务费税率
  • 发票票种核定怎么提交
  • 物业服务费属于什么合同印花税
  • 税收名词汇编
  • 电子承兑都是银行承兑吗
  • 土地闲置费能否扣除
  • 建筑行业暂估成本的会计分录怎么写
  • 计提房产税的会计分录怎样做
  • 滞留海关发票是谁开
  • 电脑开机故障不开机
  • 收到其他公司退款
  • 金税盘减免税款怎么结转
  • 员工报销差旅费并归还借款会计分录
  • vue3.0 element ui
  • phpstorm怎么用
  • 工程未审计资金能支付到多少
  • torch训练模型
  • 商品仓储费用会增加吗
  • seaborn库的特点
  • 划水划水划水表情包
  • php基本语句
  • javaweb:jquery中ajax的应用
  • 或有资产什么时候要披露
  • 所得税汇算清缴前取得跨年发票
  • 劳务公司怎么申请办理
  • 电子税务局税种核定在哪里
  • 百度怎么自动下载视频
  • 哪些费用专票是免税的
  • 期初库存和期末库存可以修改吗
  • 公司能经营烟草公司吗
  • 无法连接配置的sql服务器
  • 工会经费付款分录
  • 金税四期怎么监控个人账号
  • 劳务公司可以用工资表做成本
  • 出口转内销会计分录举例
  • 维护费抵减增值税会计科目
  • 控股合并和吸收合并会计处理的区别
  • 清算申报在哪里报
  • 其他应收款与其他应付款对冲分录
  • 甲方代付农民工工资谁报个税
  • 发工资扣的个人社保计入哪个科目
  • 在建工程前期费用明细
  • 车间不生产折旧计提放哪里
  • 累计盈余下级科目
  • 利润分配审计案例
  • mysql分区语句
  • win7自带播放器怎么打开
  • 戴尔dell服务器维修
  • win10玩游戏遇到问题需要重新启动
  • win7系统玩游戏怎么样
  • Linux Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点
  • linux执行多个脚本
  • nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
  • nodejs 程序 打包服务端
  • windows常用网络命令的使用
  • css兼容性写法
  • vue是如何实现双向绑定的