javascript - 关于将节点标记为脏的浏览器策略
问题描述
假设我有这样的抽象模板:
<div>
<div id="header">
<h1>Hello, {{model.subject}}!</h1>
<p>How are you today?</p>
</div>
</div>
where{model}
将与一些不太重要的框架相关(没有虚拟 DOM 或 smth)
假设model -> subject
值改变了。浏览器会仅重新绘制h1
节点还是重新绘制整个#header
节点?我的意思是浏览器如何将节点标记为“脏”?
来自本文的“脏位系统”部分:https ://www.html5rocks.com/en/tutorials/internals/howbrowserswork/#Layout
“为了不为每一个小的变化做一个完整的布局,浏览器使用一个“脏位”系统。一个被改变或添加的渲染器将自己和它的孩子标记为“脏”:需要布局。有两个标志:“脏”,以及“孩子很脏”,这意味着虽然渲染器本身可能没问题,但它至少有一个需要布局的孩子。”
所以问题是:某个节点的任何变化都会影响它的兄弟节点吗?到p
目前的例子^。以及关于此的实际浏览器策略是什么。
解决方案
推荐阅读
- c# - Acumatica 基于合同的 API SalesOrder.Detail 在处理 I210 课程材料时返回 null
- genexus - 在 Genexus 中,Know in runtime 是 Android 还是 IOS
- node.js - 基于位置的结果
- react-native - 如何根据条件更改视图
- kubernetes - HorizontalPodAutoscaler 多副本升级
- install4j - 运行下载的 install4j 更新而不进行调度
- angular - 在 Angular 的循环中订阅一个 observable
- java - 从 amazon s3 存储桶中删除文件时出错
- npm - 将客户端的文件与服务器同步 - Electron/node.js
- javascript - 焦点仅在我使用选项卡转到按钮时才有效,之后当我单击按钮时焦点不起作用