Fabric.js:如何序列化/反序列化一些全局数据?如何扩展画布对象



如何向画布对象添加其他属性,以便对它们进行序列化/反序列化?例如,我想为我使用canvas.toJSON((获得的数据存储一个名称,并将其存储在服务器端。

这样扩展画布有意义吗?或者你会建议创建一个"元对象",其中包含我的额外数据和画布json的一个属性吗?

您可以将具有附加属性的数组传递到Canvas.toJSON()方法中,如下所示:

const canvas = new fabric.Canvas('c')
canvas.myProp = 'MyCanvas'
const serializedCanvas = canvas.toJSON(['myProp'])
console.log(serializedCanvas.myProp) // 'MyCanvas'

请注意,在序列化过程中,这个数组也会传递到每个对象的_toObject()方法中,因此将自定义属性列表保持在最低限度是有意义的。

最新更新