在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没有相同的类型。我该如何解决?