fabric.js转化对象时保存自定义属性

703 阅读1分钟

fabric.js转化对象时保存自定义属性

我们在用 fabric.js 操作canvas画版添加各种形状/图片时,有时候会自己添加对应的自定义属性,当涉及到撤销/恢复时,要保存之前的canvas的数据以及状态,此时一般通过toJSON()toDatalessJSON()toDatalessObject()等来获取canvas中的内容进行保存。但是自定义属性是保存不了的。

转化成对象时保存自定义属性

canvas.toJSON(['myFabricType'])

canvastoDatalessJSON()toDatalessObject()toJSON()toObject()都可以有一个参数propertiesToIncludeopt

  • propertiesToIncludeopt:要包含的属性选项,类型为 Array;

把需要保存的属性写成一个数组的形式在进行转化保存即可。

const a = canvas.toJSON(['myFabricType1', 'myFabricType2'])
const b = canvas.toDatalessJSON(['myFabricType1', 'myFabricType2'])
const c = canvas.toDatalessObject(['myFabricType1', 'myFabricType2'])
const d = canvas.toObject(['myFabricType1', 'myFabricType2'])