我在我的画布中使用从fabric.Image
扩展的自定义对象,如this answer中所述。当我从服务器检索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
时,此代码工作正常。我担心当我使用aditional数据扩展favric的Image类时,这可能是我所遗漏的。想法?
答案 0 :(得分:2)
经过一些搜索后,我在fabricjs google群组中看到了similar thread。原来我弄乱了三件事:
fromObject()
回调定义(我有一对)。loadFromDatalessJSON()
时,我正在使用loadFromJSON()
。JSON.parse(json)
将json字符串解析为实际的JSON,然后将其传递给loadFromJSON()
函数,该函数需要一个json字符串并在内部处理解析。DERP。