FabricJS - 加载序列化后引用 canvas

FabricJS - referencing after loading serialized canvas

我使用以下代码序列化我的 canvas:

var user_canvas = JSON.stringify(canvas.toDatalessObject());

一切正常。然后,我使用以下代码加载序列化 canvas,其中 'serial' 是序列化 canvas 的变量:

canvas.loadFromJSON(serial,canvas.renderAll.bind(canvas));

所有元素都按预期显示在页面上。从这里开始,虽然我无法弄清楚如何引用这些对象,但 canvas.getObjects() 作为一个空白数组出现,但是如果我 console.log(canvas) 我可以看到里面的元素,我就是无法引用它们。我该怎么做?

设置 5 秒的超时后,项目出现在 getObjects() 中,看来我只是想在加载它们之前访问它们。

编辑:原来 canvas.loadFromJSON

中内置了一个回调函数

您可以通过以下方式访问变量:

canvas.loadFromJSON(serialized_canvas,canvas.renderAll.bind(canvas),function(o, object) { console.log(object); }