对象和自定义属性
通过定义对象的自定义属性,可以完成业务上需要的特殊处理,例如:定义对象的id
或value
等等,以方便后续的逻辑处理。
自定义属性
在构建应用程序时,你可能需要向对象添加一些自定义属性。一个非常常见的需求是将id
和name
属性添加到对象上。
如果你正在使用 TypeScript 或者希望你的IDE能够提供自动补全功能,那么你需要明确声明这些属性是什么。
此外,还存在一个序列化的问题,需要你在函数toObject
的参数中传递这些属性。
为了使代码更美观,你必须使用 TypeScript 的接口特性和对象的自定义属性钩子。
这样的改变将使类型推断工作正确:
自定义方法
一般来说,如果你能坚持使用外部函数,事情会变得简单。但在特定情况下,当你想将特定的方法添加到不同对象的原型上时,你必须进行一些修改:
定义子类
定义子类变得更加容易,但并不总是可行的。例如,如果你想定义像Rect
, Textbox
, IText
, Path
的派生类,这是可能且容易的。
但是,你不能派生一个FabricObject并将其添加到其他对象的原型链中。
警告