首页 > 解决方案 > 在 Angular 10 中向 Fabric 对象添加属性

问题描述

当尝试在 Angular 中使用附加参数扩展结构文本对象时,我成功完成了序列化部分(例如,新属性“字段名”显示在 JSON 中)。但是,尝试使用回读代码时代码失败this.canvas.loadFromJSON

错误类型错误:无法读取未定义的属性(读取'fromObject')

我的扩展对象代码如下所示:

interface ITextFieldOptions extends fabric.TextOptions {
    fieldname?: string;
}

export interface TextField extends ITextFieldOptions { }

export class TextField extends fabric.Text implements ITextFieldOptions {

  public constructor(options: ITextFieldOptions) {
    options.type = 'textField';
    options.text = '{'+options.fieldname+'}';
    super('initialize', options);
  }

  toObject(propertiesToInclude?: string[]): any {
    propertiesToInclude = (propertiesToInclude || []).concat(
      ['fieldname']
    );
    return super.toObject(propertiesToInclude);
  }

}

将扩展对象读回画布时,我缺少什么?

标签: javascriptangularfabricjs

解决方案


推荐阅读