繁体   English   中英

Fabric js从JSON加载画布

[英]Fabric js Load canvas from JSON

我正在尝试实现保存和加载函数,但是当我尝试将json加载到画布中时出现错误。 错误消息显示“无法读取属性'async'未定义”,但我认为json输出看起来不错。 (我不习惯JavaScript,所以我不知道,如果问题出在结构或我的代码中......)

这是我的测试用例的jsFiddle链接: 示例小提琴

到目前为止,保存和加载功能是这样的:

var json = JSON.stringify(canvas);
canvas.clear();
canvas.loadFromJSON(json, function() {
    canvas.renderAll();
});       

谢谢你的帮助! :)

您可能已经使用一个(或多个)具有自定义属性的对象序列化了对象,或者您创建并序列化了一个新的自定义类。 看看这里可以更好地了解Canvas序列化的规则: http//fabricjs.com/docs/fabric.Canvas.html#toJSON ;

尝试使用reviver函数运行代码( http://fabricjs.com/docs/fabric.Canvas.html#loadFromJSON )。

canvas.loadFromJSON(json, function() {
   canvas.renderAll(); 
},function(o,object){
   console.log(o,object)
})

它应该为你提供一个线索,告知它失败的负载点。 根据loadFromJson函数的运行方式检查序列化画布,您将找到罪魁祸首。

请参考这个答案并阅读评论: https//stackoverflow.com/a/37545296/2779183

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM