【问题标题】:KonvaJS: How to serialize object with custom property?KonvaJS:如何使用自定义属性序列化对象?
【发布时间】:2017-10-18 00:17:46
【问题描述】:
var group = new Konva.Group();
group.customProp = ['a', 'b', 'c'];
group.toJSON();

结果:

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

而customProp 丢失了。

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

【问题讨论】:

    标签: javascript konvajs


    【解决方案1】:

    实例上的属性不会被序列化。您应该使用公共 API 来设置/获取属性。

    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":[]}
    

    【讨论】:

    • 谢谢!我不知道这种方法。
    【解决方案2】:

    var group = new Konva.Group();

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

    group.toJSON();

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

    【讨论】:

    • 结果是一样的。我想这是 KonvaJS 对象的一些特定声明
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2016-06-20
    • 1970-01-01
    • 2015-07-27
    相关资源
    最近更新 更多