Javascript 重新加载后的FabricJS图像Z索引

Javascript 重新加载后的FabricJS图像Z索引,javascript,css,fabricjs,Javascript,Css,Fabricjs,我实现了一个画布,可以在其中添加不同的对象。在我重新加载站点并将图像添加到其余对象的上方之前,一切正常。我想这是因为加载图像需要更长的时间。我试图将每个对象移动到它们使用的插入索引中 this.canvas.add(object); this.canvas.moveTo(object, parseInt(object.zindex)); 请注意,我已将z索引作为对象的属性附加,并在向画布添加一个对象后立即将其存储。 出于某种原因,这并没有改变重画上的任何内容,尽管将对象移动到排序索引,但对象仍

我实现了一个画布,可以在其中添加不同的对象。在我重新加载站点并将图像添加到其余对象的上方之前,一切正常。我想这是因为加载图像需要更长的时间。我试图将每个对象移动到它们使用的插入索引中

this.canvas.add(object);
this.canvas.moveTo(object, parseInt(object.zindex));
请注意,我已将z索引作为对象的属性附加,并在向画布添加一个对象后立即将其存储。 出于某种原因,这并没有改变重画上的任何内容,尽管将对象移动到排序索引,但对象仍保持原样。 有人遇到过这样的问题吗

canvas.loadFromJSON(json, function() {
  canvas.renderAll();
}, function(o, object) {
  canvas.moveTo(object, object.index);
});
同时,使用恢复器将对象移动到指定索引

演示

var canvas=newfabric.canvas('c');
var指数=0,
json;
var url='//fabricjs.com/assets/pug.jpg';
fabric.Image.fromURL(url,函数(img){
仪表刻度宽度(200)
img.set({
索引:索引++
})
canvas.add(img);
画布。添加(新织物。圆圈)({
半径:50,
左:30,,
填充:'绿色',
索引:索引++
}));
})
画布。添加(新织物。圆圈)({
半径:50,
索引:索引++
}));
函数saveCanvas(){
json=canvas.toJSON(['index'])
}
函数重载画布(){
loadFromJSON(json,function()){
canvas.renderAll();
},函数(o,对象){
canvas.moveTo(object,object.index);
})
}
画布{
边框:2倍实心#000;
}
重新加载
保存

谢谢!我想我通过使用canvas.insertAt而不是add(obj)修复了它。