1

所以我试图用一条曲线连接两个由用户使用 angularjs 创建的元素,我收到了这个错误:

未捕获的类型错误:无法读取未定义的属性“parentNode” - AngularJS 和 jsPlumb 连接

我的服务中的一个功能

//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 与其新创建的子对象连接起来,这发生在我的一项服务中。我认为元素的动态创建发生了一些事情,但我并不完全确定。

4

1 回答 1

1

根据 jsPlumb 文档,jsPlumb 在哪里添加元素?, jsPlumb 期望节点元素是 anuglar JS 的 index.html DOM 的一部分。

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

<div class="container" ng-view=""></div>
于 2014-01-14T12:55:15.620 回答