所以我试图连接用户使用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与其新创建的子连接起来,这发生在我的一个服务中。我认为动态创建元素有一些事情,但我并不完全确定。
答案 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>