我有一个画布,我使用fabric.js的线条绘制方法绘制网格线.我将这些行的选择属性定义为false,同时绘制时可以正常工作.
现在,当我对画布进行字符串化并检索 JSON输出时,我注意到除了选择属性之外,其他属性都被提取了.我需要做些什么来保持JSON中的选择属性不变?
我正在使用fabric.js-1.4.10
现在,当我对画布进行字符串化并检索 JSON输出时,我注意到除了选择属性之外,其他属性都被提取了.我需要做些什么来保持JSON中的选择属性不变?
我正在使用fabric.js-1.4.10
解决方法
您可以使用以下代码,当您调用toJSON()方法时,您将拥有所有其他属性:
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.