我正在尝试学习如何在我的Ember.js应用程序中使用jsPlumb ,因此我将一个最小的jsFiddle放在一起来演示它们如何协同工作。
在这个例子中,到目前为止,我只是插入节点并将它们添加到 jsPlumb。我还没有在它们之间添加任何链接。在这个阶段,节点应该是可拖动的,但它们不是。
我在浏览器控制台中遇到的错误:
TypeError: myOffset is null
这指向jsPlumb中的这部分代码:
for (var i = 0; i < inputs.length; i++) {
var _el = _getElementObject(inputs[i]), id = _getId(_el);
p.source = _el;
_updateOffset({ elId : id });
var e = _newEndpoint(p);
_addToList(endpointsByElement, id, e);
var myOffset = offsets[id], myWH = sizes[id];
var anchorLoc = e.anchor.compute( { xy : [ myOffset.left, myOffset.top ], wh : myWH, element : e });
e.paint({ anchorLoc : anchorLoc });
results.push(e);
}
您可以看到一个没有与 Ember.js 集成的简单示例按预期工作。我知道我有这个版本的 jsPlumb 使用 jquery-ui 来克隆元素并支持拖放。此处的帖子显示 Ember 中的 jquery-ui 可拖动功能存在问题。但是,我不确定我是否遇到了同样的问题。如果这与我遇到的问题相同,我将不胜感激有关如何在我的应用程序中实施建议的解决方案的帮助。我对 Ember 和 jsPlumb 都是新手,所以我希望能得到关于这里发生的事情和采取什么路径的明确指导。
我怎样才能使这个例子工作?