【问题标题】:FabricJS - Error when loading Canvas from JSONFabricJS - 从 JSON 加载 Canvas 时出错
【发布时间】:2012-07-02 12:37:32
【问题描述】:

按照this answer 中的建议,我在画布中使用了从fabric.Image 扩展而来的自定义对象。当我从服务器检索 json 字符串时,尝试将其加载到画布时出现奇怪的错误:

var canvas = new fabric.Canvsd();

function loadCanvas(resp) {
  // response object contains a data field
  // that's essentialy a JSON string
  var json = JSON.parse(resp.data);
  canvas.loadFromDatalessJSON(json);
}

我得到一个奇怪的控制台打印输出:Cannot call method 'setupState' of undefined (fabric.min.js: 1118)。我尝试用canvas.loadFromJSON(json) 替换呼叫,却得到一个模糊的SyntaxError: Unexpected token o 错误。当我在链接线程中建议的更改之前使用常规 fabric.Image 时,此代码运行良好。我担心这可能是我在使用附加数据扩展 favric 的 Image 类时缺少的东西。想法?

【问题讨论】:

    标签: json canvas load fabricjs


    【解决方案1】:

    经过一番搜索,我在fabricjs google 组中看到了similar thread。原来我搞砸了 3 件事:

    1. 我在不同位置为我制作的另一个自定义对象(我有几个)缺少了 fromObject() 回调定义。
    2. 我使用的是loadFromDatalessJSON(),而我应该只使用loadFromJSON()
    3. 我使用 JSON.parse(json) 将 json 字符串解析为实际的 JSON,然后将其传递给 loadFromJSON() 函数,该函数需要一个 json 字符串并在内部处理解析。

    呸。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-13
      • 2022-01-16
      • 2018-04-10
      • 1970-01-01
      • 2015-02-15
      • 2017-09-29
      • 2017-01-22
      • 1970-01-01
      相关资源
      最近更新 更多