FabricJS - 从 JSON 加载 Canvas 时出错
Posted
技术标签:
【中文标题】FabricJS - 从 JSON 加载 Canvas 时出错【英文标题】:FabricJS - Error when loading Canvas from JSON 【发布时间】: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 类时缺少的东西。想法?
【问题讨论】:
【参考方案1】:经过一番搜索,我在fabricjs google 组中看到了similar thread。原来我搞砸了 3 件事:
-
我在不同位置为我制作的另一个自定义对象(我有几个)缺少了
fromObject()
回调定义。
我使用的是loadFromDatalessJSON()
,而我应该只使用loadFromJSON()
。
我使用 JSON.parse(json)
将 json 字符串解析为实际的 JSON,然后将其传递给 loadFromJSON()
函数,该函数需要一个 json 字符串并在内部处理解析。
呸。
【讨论】:
以上是关于FabricJS - 从 JSON 加载 Canvas 时出错的主要内容,如果未能解决你的问题,请参考以下文章