如果我有多个可以连接在一起的盒子,我正在用 jsPlumb 构建一个 UI。每个盒子有 1 个目标和 3 个源,由调用同一个盒子 DOM 元素的makeTarget
和方法制成。makeSource
jsPlumb.makeTarget($('#box_id'), targetData);
jsPlumb.makeSource($('#box_id'), sourceData1);
jsPlumb.makeSource($('#box_id'), sourceData2);
jsPlumb.makeSource($('#box_id'), sourceData3);
每个来源都通过将其连接到盒子的不同部分的过滤器属性来区分:
sourceData1.filter = '.filter_1';
sourceData2.filter = '.filter_2';
sourceData3.filter = '.filter_3';
只能在一个盒子的源和另一个盒子的目标之间建立连接。目标锚是Continuous
。
就使用框和拖放连接而言,这种安排非常适合我所需要的。
当我想从 JSON 对象重新创建已保存的 UI 时,就会出现问题。我可以毫无问题地重新创建盒子的位置,但是我找不到从盒子上可用的 3 个正确来源重新创建连接的方法。
我尝试使用保存的 uuid 重新连接,但事实证明在创建连接之前端点还不存在。我尝试的另一种方法是仅连接源和目标框 ID:
jsPlumb.connect({
source:"box_id1",
target:"box_id2",
});
但这永远不会将正确的源连接到目标,并且连接与用户创建的连接并不完全相同。如果连接从源 1 开始,则使用此方法可以从源 3 开始。
基本上我在问是否可以在使用 jsPlumb API 创建端点之前以编程方式连接源和目标?
那么在这些情况下是否可以重新创建连接,或者我应该寻找其他解决方案?
谢谢。
注意: 您可以在此处找到有关 UI、其设置和问题的更多信息:https ://github.com/sporritt/jsPlumb/issues/77