我正忙于使用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 }
答案 0 :(得分:1)
我意识到删除snapLink属性我避免了弹跳行为。