Javascript Easil js-从容器中移除项目-不是阶段
我正在构建一个绘图应用程序——小时候,涂鸦被绑定到一个容器(而不是舞台)上 但问题是——当我试图撤销涂鸦时——什么也没发生。我尝试从容器中删除子容器-但什么都没有发生-如果我开始尝试更新缓存或更新阶段-什么都没有发生。-更新容器上的缓存似乎可以清除所有内容Javascript Easil js-从容器中移除项目-不是阶段,javascript,createjs,Javascript,Createjs,我正在构建一个绘图应用程序——小时候,涂鸦被绑定到一个容器(而不是舞台)上 但问题是——当我试图撤销涂鸦时——什么也没发生。我尝试从容器中删除子容器-但什么都没有发生-如果我开始尝试更新缓存或更新阶段-什么都没有发生。-更新容器上的缓存似乎可以清除所有内容 this.stage = new createjs.Stage('canvas'); this.stageArea = new createjs.Container(); this.stage.addChild(this.stageAr
this.stage = new createjs.Stage('canvas');
this.stageArea = new createjs.Container();
this.stage.addChild(this.stageArea);
var drawingCanvas = new createjs.Shape();
drawingCanvas.shadow = new createjs.Shadow('#0066cc',1, 1, 30);
app.stageArea.addChild(drawingCanvas);
function undoHandler = function(){
console.log("undo bit");
if(app.stageArea.children.length > 1){
var lastChild = app.stageArea.children.pop(1);
app.stageArea.removeChild(lastChild);
app.stage.update();
}
}
这个想法在这个概念中起作用-我不明白为什么在我正在处理的代码库中-这不起作用。什么会阻止从容器中删除绘制画布形状的子对象?我建议不要从子对象列表中手动删除子对象,除非您需要执行容器API不支持的操作。在这种情况下,
removeChild()
将为您将其从子列表中删除。您还可以使用container.numChildren
而不是访问子数组来获取长度。