Fabrics.js - loadFromJSON()在JSON包含类型'形状'的项目时失败

Fabrics.js - loadFromJSON() fails when JSON includes item of type 'shape'

本文关键字:形状 失败 项目 类型 包含 loadFromJSON js JSON Fabrics      更新时间:2023-09-26

我目前正在使用fabrics.js开发名片设计平台。

我正在尝试实现自动保存功能,通过在浏览器缓存中保存和恢复设计数据来保护用户免受丢失工作。

所以我使用Fabrics.js Canvas对象中的loadFromJSON()来还原设计数据。

但是当我试图从JSON中恢复shape项时,我得到以下错误。

Uncaught TypeError: Cannot read property 'async' of undefined

下面是我的小提琴来测试这个。我已经在javascript中嵌入了原始JSON。

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

谢谢。

索引4的对象是类型为shape的对象。没有这种类型的织物对象。我假设您为该对象创建了一个自定义类。

如果是这样的话,你需要将它添加到fabric中,以便在尝试从json中重建该对象时可以找到它。假设你在变量Shape中有一个新的织物形状类,你所链接的数据已经被设置为shape类型,你只需要像这样将它添加到织物中

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

现在,当你加载数据时,fabric应该能够找到这个类。

如果您仍然对此有问题,我建议在jsfiddle中包含更多的代码。