未捕获的TypeError:无法读取未定义的属性'parentNode' - AngularJS和jsPlumb connect

时间:2013-07-10 16:13:09

标签: angularjs angularjs-service jsplumb

所以我试图连接用户使用angularjs创建的两个元素,用曲线表示我收到此错误:

未捕获的TypeError:无法读取属性' parentNode'未定义的 - AngularJS和jsPlumb connect

我服务中的一项功能

//this function adds a new object to the array of objects in sourceObject
function addNewDiv(sourceObject) {
    console.log('added a new subquestion');
    sourceObject.children.push({id: 'q-'+counter, anchor: 'a-'+counter});
    counter++;
    //return the newly created object so we can link the parent and child.
    var newObject = sourceObject.children[sourceObject.children.length-1];
    jsPlumb.connect({source: sourceObject.anchor, target: newObject.anchor});
}

所以基本上我将sourceObject与其新创建的子连接起来,这发生在我的一个服务中。我认为动态创建元素有一些事情,但我并不完全确定。

1 个答案:

答案 0 :(得分:1)

根据jsPlumb文档Where does jsPlumb add elements?,jsPlumb期望节点元素成为anuglar JS的index.html DOM的一部分。

因为在Angular JS中,视图是由main.html生成的,所以jsPlumb无法在容器index.html的DOM中找到具有以下div的源节点和目标节点:

<div class="container" ng-view=""></div>