web-dev-qa-db-ja.com

vis.jsクリックハンドラーでノードデータにアクセスする

ノードとエッジのネットワークグラフがあり、クリックされたらノードデータを取得したいと思います。私は現在持っています

var network = new vis.Network(container, data, options);
network.on( 'click', function(properties) {
    console.log('clicked node ' + properties.nodes);
});

しかし、これは私にいくつかの内部IDを与えるだけです[105]。ノードに関連付けられている実際のデータを取得する方法はありますか?.

12
Vishnu

プロパティで取得するノードIDは「内部ID」ではありませんが、これらは自分で定義したノードのIDです。次のようなノードを使用して、独自のDataSetからノードのデータを簡単に読み取ることができます。

var nodes = new vis.DataSet([...]);
var edges = new vis.DataSet([...]);
var data = {nodes: nodes, edges: edges};

var network = new vis.Network(container, data, options);
network.on( 'click', function(properties) {
    var ids = properties.nodes;
    var clickedNodes = nodes.get(ids);
    console.log('clicked nodes:', clickedNodes);
});
17
Jos de Jong