0
您好我目前正在調用一組json數據使用Json的內置D3請求。我遇到的當前問題是試圖通過請求中的數據數組進行索引。目前我只能得到我陣列的第一個x &。因此,它會影響我的D3拖動,因爲每當我拖動一個新對象時,它就會跳回到之前鼠標點擊的位置。這裏有一個片段:試圖通過D3的X和Y值陣列索引
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
}
]
}
所以我的查詢是怎麼做的我通過我的嵌套數據索引,所以它讀取所有的y值,而不是隻影響我的拖動行爲的一個&。
幫助將不勝感激。
謝謝