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