如何动态设置JSPlumb中的源和目标

时间:2014-10-07 07:24:04

标签: json jsplumb

我正在使用jsplumb去显示连接到交换机的所有设备的图示视图。我遵循以下方法,如果不符合标准,请发表评论。

  1. 创建网络中连接的所有设备的地图,并使用innerHtml在屏幕上动态创建所有设备。
  2. 创建映射json,其中包含哪些设备连接到哪个设备。
  3. 我现在使用javascript迭代json并为屏幕上的所有设备创建源和目标。
  4. 问题:
    当我遍历json时,源代码和目标无法在下面的代码中设置。

    var result = JSON.parse(devicePaths);
    for (var i in result) { 
      var _source = new String(result[i]["source"]);
      var _target = new String(result[i]["target"]);
      var _endpoint = new String(result[i]["endpoint"]);
      console.log('_source ' + _source); //this gives me proper value
      console.log('_target ' + _target); //this gives me proper value
      console.log('_endpoint ' + _endpoint);
      instance = jsPlumb.getInstance({
        PaintStyle : {
          lineWidth : 1,
          strokeStyle : "#567567",
          outlineColor : "black",
          outlineWidth : 1
        }
      });
      common = {
        anchors : [ "BottomCenter", "BottomCenter" ],
        endpoints : [ "Dot", "Blank" ]
      }
      instance.connect({
        source : _source,
        target : _target,
        detachable : false,
        endpoint : _endpoint
        }, common);
      instance.draggable(_source);
      }
    });
    

    如果我将源和目标值硬编码为源代码,则同样有效:rx_1和目标masterSwitch

0 个答案:

没有答案