我有一个画布,我使用fabric.js的线条绘制方法绘制网格线。我将这些行的选择属性定义为false,同时绘制时可以正常工作。 现在,当我对画布进行字符串化并检索JSON输出时,我注意到除了选择属性之外,其他属性都被提取了。我需要做些什么来保持JSON中的选择属性不变? 我正在使用fabric.js-1.4.10
答案 0 :(得分:1)
您可以使用以下代码,当您调用JSON()方法时,您将拥有所有其他属性:
var obj = fabric.util.groupSVGElements(objects, options).set({
top: 0,
left: 0
});
obj.toJSON = (function (toJSON) {
return function () {
return fabric.util.object.extend(toJSON.call(this), {
customProperties: this.customProperties
});
};
})(obj.toJSON);
实际上,正如@Abhishek在评论中所说,而不是使用fabric的toJSON()方法或用于导出svg的任何其他方法,只会导出fabric对象的默认属性。如果你想在导出列表中获得自定义添加属性,而不是像上面代码那样覆盖toJSON方法,那么在使用toJSON()方法之后,你将在导出的JSON中使用customproperty。