【问题标题】:D3 : Unable to get property 'weight' of undefined or null referenceD3:无法获取未定义或空引用的属性“权重”
【发布时间】:2016-12-02 13:52:06
【问题描述】:
当我将 link.source 和 link.target 分配给从 DB 检索到的整数值时,D3 svg 图形停止工作。如果我分配从 0 开始的索引图可以正常工作,但是当我使用从 db 检索到的标识符值分配 link.source 和 .target 时,它会失败并出现上述错误。
【问题讨论】:
标签:
javascript
angularjs
d3.js
svg
【解决方案1】:
var edges = [];
json.Links.forEach(function(e) {
var sourceNode = json.Nodes.filter(function(n) {
return n.Id === e.Source;
})[0],
targetNode = json.Nodes.filter(function(n) {
return n.Id === e.Target;
})[0];
edges.push({
source: sourceNode,
target: targetNode,
value: e.Value
});
});
force
.nodes(json.Nodes)
.links(edges)
.start();
var link = svg.selectAll(".link")
.data(edges)