首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的数据绑定方式有什么区别?

不同的数据绑定方式有什么区别?
EN

Stack Overflow用户
提问于 2015-10-26 09:17:56
回答 1查看 83关注 0票数 0

从本教程:http://bl.ocks.org/mbostock/3808234,我读到

代码语言:javascript
复制
  var text = svg.selectAll("text")
      .data(data, function(d) { return d; });

有时,我从其他教程(如下面的教程)中阅读,它适用于它们的用例:

代码语言:javascript
复制
  var text = svg.selectAll("text")
      .data(data);

本教程不会使用第二种方式,因为无法触发输入和退出。那么,这两种方式在概念上有什么区别呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 10:39:59

从关于selection.data的精细手册中

selection.data([values[, key]]) 如果没有指定键函数,则将第一个数据的值赋值给当前选择中的第一个元素,将第二个数据赋给第二个选定元素,等等。..。 可以指定一个键函数键([d,i ])来控制数据如何连接到元素(这取代了默认的按索引行为)。key函数返回一个字符串,该字符串用于根据以前绑定的数据将数据与其对应的元素连接起来。

在您的示例中,function(d) { return d; }指定密钥是使用的字母。以后的调用将能够确定哪个节点代表什么字母,从而确定输入和退出选择。

没有这个键,除了传递数据的顺序之外,您就没有任何数据来匹配调用之间的节点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33342157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档