web-dev-qa-db-ja.com

vis javascriptライブラリで、ノードIDからノードを取得するにはどうすればよいですか?

だから私はこのようなノードを作成します...

var nodes = new vis.DataSet([
    {id: 1, label: 'Peter'},
    {id: 2, label: 'John'},
    {id: 3, label: 'Sally'},
]);

その後、ノードをクリックした後、イベントハンドラーで、クリックしたノードのIDを取得します。 IDからノードオブジェクトを取得するにはどうすればよいですか?

13
srayner

私は実際にここでドキュメントを見つけました。 http://visjs.org/docs/data/dataset.html

node = nodes.get(nodeId);
16
srayner

ノードオブジェクトへの参照を取得するのに問題がありました。 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);
            }
        });
4
mike

独自の関数を使用してすべてのノードオブジェクトを取得していますが、「network」変数をグローバルにする必要があります。例えば:

function getNode(nodeId){
     var nodeObj= network.body.data.nodes._data[nodeId];
     return nodeObj; //nodeObj.label to get label 
}
2
Francesco