流程图控件GoJS教程:节点中的端口

尽管您可以控制链接在节点上的连接位置(在特定位置,沿着一个或多个侧面或在与边缘的相交处),但是有时您希望在链接上使用不同的逻辑和图形位置应该连接。

GoJS是一款功能强大,快速且轻量级的流程图控件,可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图,且极大地简化您的JavaScript / Canvas 程序。

GoJS现已更新至最新版本2.1发布,添加了动画功能,修复了一些bug,增强用户体验,赶快下载试试吧~

GoJS最新试用版

节点中的端口

尽管您可以控制链接在节点上的连接位置(在特定位置,沿着一个或多个侧面或在与边缘的相交处),但是有时您希望在链接上使用不同的逻辑和图形位置应该连接。链接可以连接的元素称为 端口。节点中可以有任意数量的端口。默认情况下,只有一个端口,即整个节点,这导致将整个节点用作端口的效果,如您在所有前面的示例中所看到的。

要声明Node中的特定元素是端口,请将GraphObject.portId属性设置为字符串。请注意,与端口或链接相关的属性可以应用于节点的可视树中的任何元素,这就是为什么它们是GraphObject而不是Node的属性的原因。

类似于端口的GraphObjects只能位于Node或Group中,而不能位于Link或Adornment或简单Part中。因此,没有理由尝试在Link中的任何对象上设置GraphObject.portId。

单端口

在许多情况下,您想考虑与整个节点在逻辑上相关的链接,但是您不希望链接到整个节点。在这种情况下,每个节点只有一个端口,但是您不希望整个节点都充当一个端口。

例如,考虑当整个节点以一种通用方式充当端口时,链路如何连接到节点。该GraphObject.fromSpot和GraphObject.toSpot是在双方的中段。因为整个节点的高度都包含文本标签,所以边的中间不是“图标”的中间,在这种情况下,该“图标”是一个圆。

  diagram.nodeTemplate =    $(go.Node, "Vertical",      { fromSpot: go.Spot.Right, toSpot: go.Spot.Left },   // port properties on the node      $(go.Shape, "Ellipse",        { width: 30, height: 30, fill: "green" }),      $(go.TextBlock,        { font: "20px sans-serif" },        new go.Binding("text", "key"))    );   var nodeDataArray = [    { key: "Alpha" },    { key: "Beta" }  ];  var linkDataArray = [    { from: "Alpha", to: "Beta" }  ];  diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月1日
下一篇 2019年11月1日

相关推荐

发表回复

登录后才能评论