嗨,我目前正在使用为 Json 构建的 D3 请求调用一组 json 数据。我当前遇到的问题是尝试通过该请求中的数据数组进行索引。目前我只能得到我的数组的第一个 x & y。因此,它会影响我的 D3 拖动,因为每次我拖动一个新对象时,它都会跳回到以前单击鼠标的位置。这是一个片段:
d3.json("url/path", function(data) {
var drag = d3.behavior.drag()
.origin(Object)
.on("drag", function(d,i) {
data.locations[0].x += d3.event.dx;
data.locations[0].y += d3.event.dy;
d3.select(this).attr("transform", "translate("+data.locations[0].x+","+data.locations[0].y+")")
});
.attr("transform", function(d,i) {return "translate("+data.locations[0].x+","+data.locations[0].y+")" ;})
});
但是,如果我尝试通过位置的整个数据进行索引,例如
"translate("+data[i].locations[0].x+","+data[i].locations[0].y+")"
我收到错误“未捕获的类型错误:无法读取未定义的属性‘位置’”
我当前的 json 数据结构如下:
{
"section":"a",
"room":"b",
"locations":[
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
},
{
"x":0,
"y":0
}
]
}
所以我的查询是如何索引我的嵌套数据,所以它读取所有的 x & y 值,而不仅仅是一个 & 影响我的拖动行为。
帮助将不胜感激。
谢谢