【问题标题】:In the vis javascript library, how do I get the node from its node Id?在 vis javascript 库中,如何从节点 ID 获取节点?
【发布时间】:2015-10-30 04:49:09
【问题描述】:

所以我创建这样的节点...

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

然后在单击节点后的事件处理程序中,我得到了我单击的节点的 ID。如何从其 id 获取节点对象?

【问题讨论】:

    标签: javascript vis.js


    【解决方案1】:

    我正在使用自己的函数来获取所有节点对象,但您需要将“网络”变量设为全局变量。例如:

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

    【讨论】:

      【解决方案2】:

      我无法获得对节点对象的引用。在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);
                  }
              });
      

      【讨论】:

        【解决方案3】:

        我实际上在这里找到了文档; http://visjs.org/docs/data/dataset.html

        node = nodes.get(nodeId);
        

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-24
        • 1970-01-01
        • 2017-10-22
        相关资源
        最近更新 更多