将数据绑定到 D3 中的父节点,而不是选择 -- 模式
binding data to parent node in D3 instead of selection -- pattern
在
抽象"组件"时,D3 中推荐的模式是什么?
假设我有一个清单。通常我会做
d3.select('ol')
.selectAll('li')
.data(array)
.enter()
.append('li')
.text(_.property('label'))
但是,当将其抽象为组件时,在使用的地方,我只想做
d3.select('ol')
.data(array)
.call(component)
问题是数据需要绑定到.selectAll
,所以人们需要在使用的地方做.selectAll
,但这违反了抽象(人们需要知道这个组件将附加什么类型的元素(
有趣的提议。
我实现了这样的"组件"并检查它是否正常工作。
(源代码为我的测试进行了一些修改。
我想知道不使用__data__
的解决方案...
var array = [
{label: 'label1'},
{label: 'label2'},
{label: 'label3'},
{label: 'label4'},
{label: 'label5'}
]
function component(selection) {
selection.selectAll('li')
.data(selection.datum()) // edited to use .datum() instead of selection[0][0].__data__
.enter()
.append('li')
.text(_.property('label'))
}
d3.select('ol')
.datum(array)
.call(component)
相关文章:
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 如何在模式弹出窗口中使用引导程序日期和时间选择器
- 如何在JQuery全日历周模式中选择多天
- jQuery日期选择器在Codeigniter和Bootsrap模式表单中不起作用
- 选择了哪个单选按钮?以模式重新显示
- 设置选择选项'选择'在模式引导中
- bootstrap日期选择器轨道无法通过带有bootstrap模式的simple_form工作
- PHP根据用户选择的项目以模式加载数据
- Eonasdan日期时间选择器没有'不能在联机模式下工作
- 从日期选择器引导框中选择日期后,模式隐藏
- Angular-UI引导日期选择器未在引导模式上显示
- 如何在不选择模式配置参数的情况下,使用mongoose在MongoDB模式实例化中的关联数组/对象中执行foreach
- Cookie以记住模式窗口选择
- 引导日期选择器,禁用日期 - 可能仅查看模式
- 为什么这个jQuery颜色选择器在引导模式中失败
- 将数据绑定到 D3 中的父节点,而不是选择 -- 模式
- 如何使用jQuery选择模式对话框
- 如何编程进入'选择模式'在UIWebView中
- Sencha ExtJs视图选择模式
- 如何自动选择“模式”对于Ace编辑器,给出一个文件扩展名