假设我有这样的东西......
var myData = [1, 2, 3, 4, 5];
var svg = d3.select("body").append("svg");
var initializeData = svg.selectAll("rect").data(myData);
对象initializeData中存储的数据(myData)在哪里?我到处都找不到。如果方法 enter() 使用 myData 中的数据,它必须在某处引用数据。
最佳答案
查看 source of data() ,这很令人困惑,但据我所知,它将数据存储在函数范围内的变量中。
这意味着它不能作为返回对象(更新)的属性公开使用,但仍然可以在更新内部的函数中使用,因为它们是可以访问封闭范围的闭包。
这真的是我能解释的最好的,而无需过多地了解闭包和数据函数的确切工作原理。
关于javascript - 在 D3.JS 中,d3.selection.data(myData) 之后的数据在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35351919/