这是我第一次发帖,我尽可能地回答这个问题。我空手而归。
之前我使用的是kineticJS的3.10.2。我已经更新了库以使用4.1.2,这是迄今为止的最新版本。我经历过几个错误,其中大部分已经解决了,但是,我已经走到了尽头。
这是我在js文件中遇到的错误。我不知道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>});
我相信这可能是我错误的根源。如果是这样,我该如何解决?
如果这不是我的错误的来源,那么是否有人可以提供一些建议,以帮助我推断问题究竟在哪里?
答案 0 :(得分:1)
事实证明,此错误也是由向自身添加图层引起的。像这样:
myLayer.add(myLayer); //<--doesn't make any sense
这应该是
myStage.add(myLayer); //<-- fixed