D3学习手记 - 02 - 数据绑定( 二 )
见36号盒子的‵更新选择.html`页面 。
输出结果:
文章插图
输入选择输入选择指的是输入新的内容的选择(selection) 。 既然还没有内容 , 所以输入选择选择的是虚拟或称为占位选择的DOM元素 , 需要通过DOM操作 , 填充实际的内容 。
看一段代码:
//HTML://
输出效果://
const users = [{id: 1,name: '张三',role: 'student'}, {id: 2,name: '李四',role: 'student'}, {id: 3,name: '王五',role: 'teacher'}]const enterUsers = d3.select('ul.app-user-list').selectAll('li.app-user').data(users).enter();// 控制台输出 1// 因为数据选择有3个 , 而DOM选择有两个 , 通过enter , 产生数量为1的输入选择console.log(enterUsers.size());// 添加新元素 , 设置类名、文字内容和颜色enterUsers.append('li').attr('class', 'app-user').text(d => d.name).style('color', d => (d.role === 'teacher' ? 'red' : 'blue'))
文章插图
问题:为什么输出的第一、二项还是李梅、韩雷雷 , 没有变成数据里的张三、李四呢?
移除选择顾名思义 , 移除选择是将DOM选择中和数据选择不匹配的部分移除 。
看一段代码:
//HTML://
输出效果://
const users = [{id: 1,name: '张三',role: 'student'}, {id: 2,name: '李四',role: 'student'}]const exitUsers = d3.select('ul.app-user-list').selectAll('li.app-user').data(users).exit()// 移除不匹配的DOMexitUsers.remove();
文章插图
最后
- 数据绑定是D3最重要的概念
- 数据绑定是D3最重要的概念
- 数据绑定是D3最重要的概念
那么数据选择与DOM选择是如何匹配的呢?示例里的匹配很简单:按数据数组与DOM数组元素的位置 。
D3当然提供其他的匹配方法 , 后面我开始研习时 , 再和大家分享 。
本篇代码盒子编号为36号 。 在电脑上访问
原创不易 , 喜欢的点个赞、关注一下呗!~
推荐阅读
- 西部数据在CES 2021推出多款4TB容量的旗舰级SSD
- WhatsApp收集用户数据新政惹众怒,“删除WhatsApp”在土耳其上热搜
- 计算机专业大一下学期,该选择学习Java还是Python
- 假期弯道超车 国美学习“神器”助孩子变身“学霸”
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 黑客窃取250万个人数据 意大利运营商提醒用户尽快更换SIM卡
- Google AI建立了一个能够分析烘焙食谱的机器学习模型
- 阳狮报告:4成受访者认为自己的数据比免费服务更有价值
- 中消协点名大数据网络杀熟 反对利用消费者个人数据画像