如何使用typescript扩展JointJs元素/链接?
我尝试使用this.set("defaults", obj)
,但却被Jointjs忽略了。
答案 0 :(得分:1)
JointJs有typescript的定义文件:https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/jointjs
JointJs模型是从Backbone扩展的,因此可以在构造函数中使用this.set(key, value)
表达式,除了“defaults”参数,需要将其写为方法。
示例:
class MyType extends joint.shapes.basic.Rect {
constructor(attributes?: any, options?: any) {
super(attributes, options);
this.set("markup", "<rect/>");
}
defaults(): Backbone.ObjectHash {
return joint.util.deepSupplement({...}, joint.shapes.basic.Rect.prototype.defaults);
}
}
在MyType
的子类中,可以使用super.defaults()
:
defaults(): Backbone.ObjectHash {
return joint.util.deepSupplement({...}, super.defaults())
}