假设我有一个具有一些可观测属性的接口,但接口的类型未知,有没有一种方法可以自动创建一个没有可观测属性的接口的新副本?
这里有一个例子:
interface SomeObject
{
value1: Observable<string>;
value2: boolean;
value3: Observable<number>;
}
有没有一种方法可以创建一个新的接口,从将导致这一点?
interface SomeObjectWithoutObservable
{
value1: string;
value2: boolean;
value3: number;
}
也许如果有一种方法可以做到这一点类似?
interface SomeObjectWithoutObservable extends RemoveObservable<SomeObject>
{}
只是不确定RemoveObservable
会是什么样子。
2条答案
按热度按时间xwbd5t1u1#
我相信你可以通过这个方法来实现它:
演示:www.example.comhttps://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgPICMDO0Bud0A2EAPACoB8yA3gFDLJ4ECuEAXMqTQL402iSxEKAMoB7ALYQMAKwgIw1OgzjMIARnYZsUPIRKYwUUAHNyAbiWMWAJnbpRoonBAX6ViAGZNWXPiLEQJnF0aHNuXjAATwAHFAAlcS1fPTJkCAAPSBAAE0xkUXRZeUoAXkV6AG0AawhI5FBkGsjRGA4AXXZSatq2tMyIHLyknT8SUBhoZDjKAH4p5E7uyLaLLgs+cGh4JGQxSRk5MAB1YDAAC1EmMGHdIj6s3KnEnxGUvalCw8oqZB4gA
cxfofazt2#
谢谢立花!这个答案很好。我只是想补充一个答案来扩展你的答案。我忘了说我总是在我的Observables属性名的末尾加上一个
$
。就像这样:因此,我还想删除结果中的
$
。所以我想出了这个:替换功能的答案如下:https://stackoverflow.com/a/71353081/8916441
免责声明:我知道这并不完美,因为这将取代
$
在任何部分的属性名称,而不仅仅是在年底。但我不认为我需要担心在我的项目。