所以我创建这样的节点......
var nodes = new vis.DataSet([
{id: 1, label: 'Peter'},
{id: 2, label: 'John'},
{id: 3, label: 'Sally'},
]);
然后稍后在一个事件处理程序中点击一个节点后,我得到了我点击的节点的id。如何从其id获取节点对象?
答案 0 :(得分:14)
我实际上在这里找到了文档; http://visjs.org/docs/data/dataset.html
node = nodes.get(nodeId);
答案 1 :(得分:4)
我无法获得对节点对象的引用。在Network.body
network.on('click', function (properties) {
var nodeID = properties.nodes[0];
if (nodeID) {
var clickedNode = this.body.nodes[nodeID];
console.log('clicked node:', clickedNode.options.label);
console.log('pointer', properties.pointer);
}
});
答案 2 :(得分:0)
我正在使用自己的函数来获取所有节点对象,但是您需要将'network'变量设置为全局变量。例如:
function getNode(nodeId){
var nodeObj= network.body.data.nodes._data[nodeId];
return nodeObj; //nodeObj.label to get label
}