这是我正在使用的代码。这个简单的功能只是为了测试我做得正确。显然,我不是。出于一个让我无法理解的原因,除非我注释掉第一个函数,否则我总是会遇到同样的错误。
// Build an arrow from first to second
var buildEdge = function(first, second)
{
var arrow;
arrow = {
type: 'path',
path: "M " + first.x + " " + first.y + " " +
"L " + second.x + " " + second.y,
stroke: 'black'
};
return arrow;
};
var first = {
type: 'circle',
x: 100,
y: 100,
radius: 50,
fill: '#99FF99',
stroke: '#55CC55',
'stroke-width': 2
};
// .........
first
并且second
都是 ExtJS 精灵。运行此 FireBug 时,总是会提供这个有用的错误:
TypeError: this[("getPath" + a.type)] is not a function
http://cdn.sencha.io/ext-4.2.0-gpl/ext-all.js
Line 21
我已经浏览了ext-all.js,但我不太了解 ExtJS 的内部工作原理并且不想(无论如何对于这个项目)。我承认我是 JavaScript 的新手,但我知道这段代码无论如何都会“编译”。是的,当我删除此功能时,我确实可以正确显示其他精灵 (first
和)。second
我希望我在这里犯了一些愚蠢的新手错误,所以欢迎任何帮助。谢谢!