TypeScript getters / setters中的部分

时间:2018-05-11 11:22:49

标签: angular typescript getter-setter

在Angular中,我允许使用组件输入来设置选项,比如IOptions类型 在setter中,它不必完整,因为它将与默认选项合并,因此它被键入为Partial<IOptions>

const DEFAULT_OPTIONS = { prop1: false, prop2: 123 };

export class MyComponent {
  _options: IOptions;

  get options(): IOptions {
    return this._options;
  }

  @Input('config')
  set options(userOptions: Partial<IOptions>) {
    this._options = { ...DEFAULT_OPTIONS, ...userOptions };
  }
}

另一方面,getter总是希望返回一个完整的,而不是部分的对象,因此类型为IOptions。但编译器抱怨getter和setter没有相同的类型。我该如何解决?

0 个答案:

没有答案