我正在尝试使用ports实现自己的shape类。但是,我希望这些形状生成的链接是平滑的。现在,我知道制作流畅链接的唯一方法是
link.set('smooth', true)
。
但是我怎么做不是通过代码呢?如何通过拖动获得平滑链接?
我扩展了Link类(MyLink
)但是如何告诉JointJS当我拖动端口时要使用哪个Link类?
joint.shapes.myclass.Link = joint.dia.Link.extend({
defaults: {
type: 'myclass.Link',
attrs: { '.connection' : { 'stroke-width' : 5 }},
smooth:true
}
});
答案 0 :(得分:4)
通过拖动端口通过UI创建的链接在论文的defaultLink
属性中定义。它可以是一个对象,在这种情况下它是一个链接模型或一个返回链接模型的函数:
var paper = new joint.dia.Paper({
defaultLink: new joint.shapes.myclass.Link,
...
})
或:
var paper = new joint.dia.Paper({
defaultLink: function(elementView, magnet) {
if (aCondition) return new joint.dia.Link;
else return joint.shapes.myclass.Link;
}
})
该功能可让您灵活地创建不同的链接,具体取决于下面的元素或拖动的磁体(端口的SVG元素)。