【问题标题】:Fabrics.js - loadFromJSON() fails when JSON includes item of type 'shape'Fabrics.js - 当 JSON 包含“shape”类型的项目时,loadFromJSON() 失败
【发布时间】:2016-10-22 10:31:08
【问题描述】:

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

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

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

但是当我尝试从 JSON 中恢复 shape 项目时出现以下错误。

Uncaught TypeError: Cannot read property 'async' of undefined

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

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

谢谢。

【问题讨论】:

  • 链接丢失。您可以编辑您的帖子并添加它吗?
  • 对不起,我刚刚添加了小提琴链接。
  • 我尝试了 toDatalessJSON() 和 loadFromDatalessJSON() 而不是 toJSON() 和 loadFromJSON(),但我得到了同样的错误。
  • 查看stackoverflow.com/questions/24384804/…。如果您使用的是自定义类(听起来像“形状”),则有几个问题。

标签: javascript fabricjs


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 2018-08-31
    • 2021-09-07
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多