【问题标题】:JointJs creating custom shapes and specifying their default linkJointJs 创建自定义形状并指定其默认链接
【发布时间】:2014-07-17 03:10:24
【问题描述】:

我正在尝试使用端口实现我自己的形状类。但是我希望这些形状生成的链接是平滑的。现在,我知道制作流畅链接的唯一方法是

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
    }
});

【问题讨论】:

  • 在一个完全不相关的注释上:joint.util.deepSupplement 是什么??

标签: jointjs


【解决方案1】:

通过 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 元素)动态创建不同的链接。

【讨论】:

    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    相关资源
    最近更新 更多