Fabrics.js - 当JSON包含'shape'类型的项时,loadFromJSON()失败

时间:2016-10-21 19:58:04

标签: javascript fabricjs

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

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

所以我使用了loadFromJSON() Canvas对象的Fabrics.js来恢复设计数据。

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

Uncaught TypeError: Cannot read property 'async' of undefined

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

索引4处的对象是shape类型的对象。没有该类型的结构对象。我假设您为该对象创建了一个自定义类?

如果需要,您需要将其添加到结构中,以便在尝试从json重建该对象时可以找到它。假设您在名为Shape的变量中有一个新的结构形状类,您链接到的数据已经设置为shape类型,您只需要将它添加到结构中

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

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

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