为ittext添加自定义属性
fabric.js add custom property to IText
我想添加一个自定义属性到fabricjs。在文本中,我使用了与我的fabricjs相同的脚本。文本类:
fabric.CustomIText = fabric.util.createClass(fabric.IText, {
type : 'custom-itext',
initialize : function(element, options) {
this.callSuper('initialize', element, options);
options && this.set('textID', options.textID);
},
toObject: function() {
return fabric.util.object.extend(this.callSuper('toObject'), {textID: this.textID});
}
});
fabric.CustomIText.fromObject = function(object) {
return new fabric.CustomIText(object.text, object);
};
fabric.CustomIText.async = false;
当我创建新的自定义文本时,没有问题。
var text = new fabric.CustomIText('NewText', { left: 0, top: 0 , fill: color, fillColor:color, textID: "SommeID"});
canvas.add(text);
但是当我想从JSON中加载我的新customittext时,我有一个javascript错误:
Uncaught TypeError: Cannot read property 'async' of undefined
谢谢
下面的代码为画布上的任何对象保存序列化中的附加属性。这可能会解决你的问题,它为我工作
// Save additional attributes in Serialization
fabric.Object.prototype.toObject = (function (toObject) {
return function () {
return fabric.util.object.extend(toObject.call(this), {
textID: this.textID
});
};
})(fabric.Object.prototype.toObject);
我让它与异步初始化工作:
fabric.TextAsset = fabric.util.createClass(fabric.IText, {
type: 'textAsset',
initialize: function(element, options) {
this.callSuper('initialize', element, options);
this.set('extraProp', options.extraProp);
},
toObject: function() {
return fabric.util.object.extend(this.callSuper('toObject'), {
extraProp: this.get('extraProp')
});
}
});
fabric.TextAsset.fromObject = function (object, callback) {
callback(new fabric.TextAsset(object.text, object));
};
fabric.TextAsset.async = true;
}
相关文章:
- 如何创建自定义属性以添加if.bind
- 在 Javascript 生成的列表中,如何将自定义属性添加到 标记
- 将自定义属性添加到 vuejs 组件
- 使用原型对象向javascript对象添加自定义属性和方法的建议
- 如何向AlloyUI表单生成器添加自定义属性
- 将自定义属性添加到现有对象
- 通过 Javascript 将自定义属性添加到 HTML 元素
- 我可以向 html 元素添加自定义属性吗?
- 如何将自定义属性添加到 HTML 环境,该属性将默认为元素的每个新实例上的空对象
- 添加自定义属性以更好地分离 JavaScript 和 HTML
- 在 ASP.NET 中添加自定义属性.在 JQuery 中访问它
- 通过 Scripts.Render 将自定义属性添加到脚本标记
- 将动态创建的下拉列表的自定义属性值添加到另一个元素
- 根据字段数添加具有自定义属性的字段
- Dynatree jquery插件向节点添加自定义属性
- 在图像标记IE11上添加自定义属性时无法发布表单
- 使用jquery日期选择器向日期添加自定义属性
- querySelectorAll找不到具有自定义属性的动态添加元素
- 添加自定义属性createdElement - jQuery
- 为jQuery对象添加自定义属性