我正在使用Go.js
制作diagram
,就像他们的sample之一一样
此时,他们的图表为static
,我正在尝试将其设为dynamic
。
该图由组件(template
),input
和output
端口组成。
在示例中,要创建组件,您必须调用方法makeTemplate
并添加指定的input
和output
端口,如下所示:
makeTemplate(name_of_template, path_to_image, color,
[makePort("L", true), makePort("R", true)],//inputs
[makePort("UL", false), makePort("ML", false)];//outputs
现在,我最初的想法是创建一个函数,该函数返回包含带有makePort
函数调用的数组的对象。
function createPorts(input,output){
var ports = {
"input":[],
"output":[],
};
for(var i = 0; i < input; i++)
ports.input.push(function(){ makePort("IN"+i, true); });
for(var i = 0; i < output; i++)
ports.output.push(function(){ makePort("OUT"+i, true); });
return ports
}
并按以下方式调用makeTemplate()
方法:
makeTemplate(name, path_to_image, color,
[],
[createPorts(0,1).output]);
但我得到error
:
Uncaught Error: Unknown initializer "function(){
makePort("OUT", true);}"
for object being constructed by
GraphObject.make: Panel(Panel.Vertical)#427