无法执行javascript方法数组

时间:2018-06-04 13:18:33

标签: javascript arrays function gojs

我正在使用Go.js制作diagram,就像他们的sample之一一样 此时,他们的图表为static,我正在尝试将其设为dynamic。 该图由组件(template),inputoutput端口组成。 在示例中,要创建组件,您必须调用方法makeTemplate并添加指定的inputoutput端口,如下所示:

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

0 个答案:

没有答案