1
这是我第一次发帖,我已经看过最好的我可以回答这个问题。我空手而出。kineticjs扩展形状类导致未捕获的距离误差?
以前我使用kineticJS的3.10.2。我已经更新了图书馆使用4.1.2这是今天最新的。我已经经历了几个我已经解决的错误,但是,我已经到了死胡同。
这是我在我的js文件中得到的错误。我不知道它在发生什么。
Uncaught RangeError: Maximum call stack size exceeded
Kinetic.Node.getParent
Kinetic.Node.getStage
Kinetic.Node.getStage
.....
Kinetic.Node.getStage
之后重复100次以上。
我有理由相信这与我如何修改的Kinetic.Shape
because of this article
function Datapoint() {
this.uv = 0;
this.royalblue = 0;
this.royalblue2 = 0;
this.presetId = 0;
this.blue = 0;
this.coolwhite = 0;
this.green = 0;
this.hyperred = 0;
this.brightness = 0;
this.clouds = 0;
this.storms = 0;
this.pointTime = new Date();
this.id = 0;
this.profileId = 0;
this.intensity = 0;
this.xCoord = 0;
this.yCoord = 0;
this.isStartNight = false;
this.isStartDay = false;
this.isNight = false
this.isDay = false;
this.isNatural = false;
}
//Modify the shape object
var DatapointObject = Kinetic.Shape;
DatapointObject.prototype.Datapoint;
原型那么做,我试图创建一个点的标准方式。
var point = Kinetic.Circle({<config object>});
我相信这可能是我错误的根源。如果是这样,我该如何解决它?
如果这不是我的错误的来源,任何人都可以借用一些建议,可以帮助我推断出问题出在哪里?
Usualy,一个'最大调用堆栈大小exceeded'错误是由你重复的东西太多了,因此会导致内存泄漏造成的事实。尝试在特定位置添加一些'console.log()',并检查这些在调试控制台(Firebug/Chrome检查器)中是否重复超过100次 –
我在js的顶部添加了一些断点,我认为最初的错误是。结果发现我的代码在上面很潦草,我自己添加了一个图层,而不是舞台。感谢您的快速回复@Ghillied –
没问题,先生。我很高兴你能在短时间内解决问题! –