能够根据要求生成端口
Ability to generate ports as per requirement
我需要一种方法,通过该方法我可以根据每个 node.So 的要求向节点添加端口,如果节点需要 3 个端口,则它必须只生成 3 个端口,而不是更多或更少。节点模板为我的问题开始的每个节点创建了相同数量的端口。
我已经尝试创建一个用于创建端口的函数,然后在循环中调用该函数以生成我的端口号。该函数只生成一个端口,但如果循环第二次执行,它就不起作用。我还尝试使用动态端口示例中的 addPort 函数,但似乎也没有给我所需的结果。
function portGen(i){
ports=myDiag.model.nodeDataArray[0].ports;
arr=new Array();
return $(go.Panel, "Horizontal",
{ column: 0, row: i+2 },
$(go.Shape, // the "A" port
{ width: 2, height: 2, portId: String(i+1), toSpot: go.Spot.Left, toLinkable:true, fromLinkable:true, toMaxLinks: 1 }),
$(go.TextBlock, String(i+1)) ) // "A" port label
}
Essentially I would lke to call the portGen function multiple times based on the no of ports to be created.
模板使用后不可修改。相反,让您的节点数据包含您希望该节点拥有的端口的描述数组,并将 Panel.itemArray 绑定到 属性。
请阅读https://gojs.net/latest/intro/itemArrays.html and look at samples such as https://gojs.net/latest/samples/records.html or https://gojs.net/latest/samples/dynamicPorts.html。
我需要一种方法,通过该方法我可以根据每个 node.So 的要求向节点添加端口,如果节点需要 3 个端口,则它必须只生成 3 个端口,而不是更多或更少。节点模板为我的问题开始的每个节点创建了相同数量的端口。
我已经尝试创建一个用于创建端口的函数,然后在循环中调用该函数以生成我的端口号。该函数只生成一个端口,但如果循环第二次执行,它就不起作用。我还尝试使用动态端口示例中的 addPort 函数,但似乎也没有给我所需的结果。
function portGen(i){
ports=myDiag.model.nodeDataArray[0].ports;
arr=new Array();
return $(go.Panel, "Horizontal",
{ column: 0, row: i+2 },
$(go.Shape, // the "A" port
{ width: 2, height: 2, portId: String(i+1), toSpot: go.Spot.Left, toLinkable:true, fromLinkable:true, toMaxLinks: 1 }),
$(go.TextBlock, String(i+1)) ) // "A" port label
}
Essentially I would lke to call the portGen function multiple times based on the no of ports to be created.
模板使用后不可修改。相反,让您的节点数据包含您希望该节点拥有的端口的描述数组,并将 Panel.itemArray 绑定到 属性。
请阅读https://gojs.net/latest/intro/itemArrays.html and look at samples such as https://gojs.net/latest/samples/records.html or https://gojs.net/latest/samples/dynamicPorts.html。