Fabrics.js - loadFromJSON() завершается ошибкой, когда JSON включает элемент типа 'shape'

В настоящее время я работаю над платформой для разработки визиток, используя fabrics.js,

Я пытаюсь реализовать функцию автосохранения, которая защищает пользователей от потери работы, сохраняя и восстанавливая данные проектирования в кэше браузера.

Так что я использовал loadFromJSON() из Fabrics.js Canvas объект для восстановления данных проектирования.

Но я получаю следующую ошибку при попытке восстановить shape предмет из JSON.

Uncaught TypeError: Cannot read property 'async' of undefined

Следующее - моя скрипка, чтобы проверить это. Я встроил сырой JSON в JavaScript.

https://jsfiddle.net/asgriksen/mhf2kqzo/14/

Благодарю.

1 ответ

Решение

Объект с индексом 4 является объектом типа shape, Тканевого объекта такого типа не существует. Я предполагаю, что вы создали собственный класс для этого объекта?

Если это так, вам нужно добавить его в ткань, чтобы он мог найти его при попытке перестроить этот объект из json. Предполагая, что у вас есть новый класс формы ткани в переменной с именем Shape из которых данные, на которые вы ссылаетесь, уже установлены на тип shape вам просто нужно добавить его в ткань, как это

fabric.Shape= Shape;
fabric.Shape.async = false;

Теперь Fabric должен быть в состоянии найти класс при загрузке данных.

если у вас все еще есть проблемы с этим, я рекомендую включить больше кода в jsfiddle.

Другие вопросы по тегам