Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JointJS-主干错误无法读取属性'_listenerId';未定义的_Javascript_Jquery_Backbone.js_Jointjs - Fatal编程技术网

Javascript JointJS-主干错误无法读取属性'_listenerId';未定义的

Javascript JointJS-主干错误无法读取属性'_listenerId';未定义的,javascript,jquery,backbone.js,jointjs,Javascript,Jquery,Backbone.js,Jointjs,我正在摆弄JointJS,它使用主干对象模型。我尝试用链接填充单元格,但有时链接不会出现(刷新几次后,它们会再次出现),并出现以下错误(在Chrome JS控制台中): 这永远不会与状态一起出现(来自joint.shapes.basic.Rect的简单矩形) 我填充链接数组的代码是: jQuery.fn.addedges = function (data) { var links = new Array(); $.each(data, function (key, value)

我正在摆弄JointJS,它使用主干对象模型。我尝试用链接填充单元格,但有时链接不会出现(刷新几次后,它们会再次出现),并出现以下错误(在Chrome JS控制台中):

这永远不会与状态一起出现(来自
joint.shapes.basic.Rect
的简单矩形)

我填充链接数组的代码是:

jQuery.fn.addedges = function (data) {
    var links = new Array();
    $.each(data, function (key, value) {
        links.push( new joint.dia.Link({
            source: { id: value.u },
            target: { id: value.v },
            attrs: { '.connection': { stroke: 'white' }, '.marker-target': { fill: 'yellow', d: 'M 10 0 L 0 5 L 10 10 z'} }
        }));
    });
    graph.addCells(links);
};
和JSON(转换为JS对象):

你知道这是什么原因吗?是来自Joint.js的bug吗

谢谢!
Adrian

我找到了答案:有时链接是在形状之前加载的。

这确实是个问题。首先必须按此顺序添加元素,然后添加连接元素的链接。
jQuery.fn.addedges = function (data) {
    var links = new Array();
    $.each(data, function (key, value) {
        links.push( new joint.dia.Link({
            source: { id: value.u },
            target: { id: value.v },
            attrs: { '.connection': { stroke: 'white' }, '.marker-target': { fill: 'yellow', d: 'M 10 0 L 0 5 L 10 10 z'} }
        }));
    });
    graph.addCells(links);
};
[{"u":"ID_25","v":"ID_26","value":{"label":""}},{"u":"ID_25","v":"ID_27","value":{"label":""}},{"u":"ID_27","v":"ID_26","value":{"label":""}},{"u":"ID_29","v":"ID_26","value":{"label":""}},{"u":"ID_29","v":"ID_121","value":{"label":""}},{"u":"ID_223","v":"ID_121","value":{"label":""}}]