2015-04-17 4 views
0

сериализовать мой холст с помощью следующего кода:FabricJS - ссылающийся после загрузки сериализованного холста

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

Все работает отлично. Я затем загрузить сериализированную холст с помощью следующего кода, где «серийный» является вар для сериализованного холст:

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

Все элементы отображаются на странице, как ожидалось. Отсюда, хотя я не могу понять, как ссылаться на эти объекты, canvas.getObjects() появляется как пустой массив, однако если я console.log(canvas), я могу видеть элементы внутри, я просто не могу ссылаться на них. Как я могу это сделать?

ответ

0

После установки таймаута в 5 секунд пункты появились в getObjects(), кажется, я просто пытался получить к ним доступ, прежде чем они были загружены.

Edit: Оказывается, есть функция обратного вызова, встроенная в canvas.loadFromJSON

Вы можете получить доступ к ВАРУ со следующим:

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

Смежные вопросы