0
我有一個基本泛型類BaseModel
和一組子類,它們是我的解決方案的模型。我想要做的是一樣的東西:定義類的一個子集作爲接口
export default class Person extends Model {
public firstName: string;
public lastName: string;
public age: number;
protected modelName: 'person';
}
而在Model
類比方說我們有:
export default abstract class Model {
public lastUpdated: string;
public createdAt: string;
protected abstract modelName: string;
// Public API
public update(key, payload: any) { ... }
public remove(key) { ... }
}
那麼想我能夠在設計時是提供一個具有所有公共屬性但不包含API函數的接口。在打字稿中這可能嗎?
p.s.我也在考慮使用實驗裝飾功能的可能性,因此,上述人模式可能類似於:
export default class Person extends Model {
@property firstName: string;
@property lastName: string;
@property age: number;
protected modelName: 'person';
}
不知道這是否提供任何附加的方式來實現我的目標是在JS裝飾是一個未知的領域我。
是的,這是真的,但我希望是沒有必要定義接口_and_然後將公共屬性添加到類。似乎像TS拔/挑/或映射鍵可能能夠實現這一點?也很可能爲API定義一個接口,然後我可以從公共接口中排除API嗎? – ken