重要性
Update、Enter、Exit
是D3.js
中十分重要且关键的3个概念。它们三主要处理的是数据集个数
和选择集个数
之间的匹配问题。
图解三者关系
![](https://img.haomeiwen.com/i5142014/b939f51547d5e2dc.jpg)
上图的解释:
-
绿色:如果给定的数据
data
和节点Nodes
中的数据相等,则进行update
操作 -
蓝色:如果数组中个数多余节点中的元素个数,进行
update
和enter
操作 -
橙色:如果给定的数据中个数不足,则
update
和exit
操作
![](https://img.haomeiwen.com/i5142014/03ed531e91ed658a.jpg)
代码解释
update
-
给定的数组中的个数和
DOM
中的个数相等,则进行update
操作,变成了红色,更新数据。 -
没有进行enter()方法中变成绿色的操作
![](https://img.haomeiwen.com/i5142014/ac90b0affeabf81b.jpg)
![](https://img.haomeiwen.com/i5142014/d9e2cae247a07839.jpg)
update和enter
-
给定的元素个数是
2
,多余DOM
的元素个数 -
同时执行
update+enter
两个操作
-
红色:
update
-
绿色:
enter
![](https://img.haomeiwen.com/i5142014/211893ba7a22e9fc.jpg)
update、exit
-
给定的数组中元素个数小于
DOM
中的个数(2个) -
同时实行
update+exit
操作
-
红色:
update
-
蓝色:
exit
![](https://img.haomeiwen.com/i5142014/3846e83676151f22.jpg)
网友评论