FabricJS - 从 JSON 加载 Canvas 时出错



我正在使用从画布中的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 的图像类时缺少的东西。思潮?

经过一番搜索,我在fabricjs google组中看到了类似的线程。原来我搞砸了 3 件事:

    我在不同的
  1. 位置缺少我制作的另一个自定义对象的fromObject()回调定义(我有几个)。
  2. 当我应该使用简单的loadFromJSON()时,我正在使用loadFromDatalessJSON()
  3. 在将 JSON 字符串传递到 loadFromJSON() 函数之前,我使用 JSON.parse(json) 将 json 字符串解析为实际的 JSON,该函数需要一个 json 字符串并在内部处理解析。

德普。

最新更新