0

我正在努力处理由 JointJS 中的节点和链接组成的图

我想防止在某些规则的基础上在节点之间创建特定链接(例如,避免循环)。

为此,我在论文的 validateConnection 属性中实施了一些检查。

问题是执行这些检查可能需要一些时间,通常比执行 validateConnection 函数的频率长(即每次鼠标改变位置时)。

所以我考虑等待新的检查,直到前一个检查完成。不幸的是,通过这种方式,解决方案受死锁问题的影响很大。

所以我的最后一个想法是去抖动检查功能。但我仍然不是 100% 满意。实际上,我需要对检查功能进行完全评估,并且在检查结束时设置属性 validateConnection。

在那里你有代码:

validateConnection: _.debounce(function(cellViewS, magnetS, cellViewT, magnetT, end, linkView) {
    if(checkTopologicalRules())
        return true;
    else
        return false;
},100),
snapLinks: { radius: 35 }
4

1 回答 1

1

我意识到删除 snapLink 属性可以避免弹跳行为。

于 2015-12-30T10:57:21.310 回答