我在fabric.js 中遇到了序列化的奇怪问题。
我创建了一个具有几个自定义属性的自定义 Group 对象。我已经实现了 toObject() 方法来处理自定义属性。
var customGrpFieldOptions = {
"name":"fabric-custom-grp",
"includeCField1" : true,
"includeCField2" : false,
"includeCField3" : false,
"includeCField4" : true
};
var customGrpObject = new fabric.Group([], customGrpFieldOptions);
customGrpObject.toObject = (function(toObject) {
return function() {
return fabric.util.object.extend(toObject.call(this), {
includeCField1: this.includeCField1,
includeCField2: this.includeCField2,
includeCField3: this.includeCField3,
includeCField4: this.includeCField4
});
};
})(customGrpObject.toObject);
Run Code Online (Sandbox Code Playgroud)
我序列化画布对象以保存它。序列化的 JSON 具有自定义属性。
当我将对象重新加载到画布时,我可以看到该对象具有自定义属性。但是,当我再次序列化画布时,不会包含这些属性。
我创建了一个 JSFiddle 来演示这个问题。 https://jsfiddle.net/bbcstar/9x48kk7f/
这里出了什么问题?我错过了什么吗?
任何帮助将非常感激!