KonvaJS:如何使用自定义 属性 序列化对象?

KonvaJS: How to serialize object with custom property?

var group = new Konva.Group();
group.customProp = ['a', 'b', 'c'];
group.toJSON();

结果:

{
    attrs: {},
    className: "Group",
    children: []
}

并且customProp丢失了。

如何在不丢失数据的情况下将对象转换为 JSON?

var group = new Konva.Group();

Object.defineProperty(组 , "customProp" , ['a','b', 'c'])

group.toJSON();

//看这里 //https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

实例的属性将不会被序列化。您应该使用 public API 到 set/get 属性。

var group = new Konva.Group();
group.setAttr('customProp', [1, 2, 3]);
// use this to read property
// group.getAttr('customProp')
group.toJSON();

输出:

{"attrs":{"customProp":[1,2,3]},"className":"Group","children":[]}