在Typescript中,我试图基于两个对象之间的父子关系定义类型。
我追求的是拥有类似于Android的xml属性的功能。在该框架中,ViewGroup的所有布局属性都传递到其子视图,并与其子视图合并。
我需要打字稿中的类似内容,我想知道是否有可能将父级的类型应用于所有子级的属性,而不必为每个子级指定父级类型。
也就是说,我希望我可以做类似的事情:
interface AttrsOfA {
a: boolean;
}
interface AttrsOfB {
b: boolean;
}
function a(childProvider: <AttrsfromParent>() => unknown) {
return {
attrs: childProvider<AttrsOfA>(),
};
}
function b<AttrsfromParent>(attrs: AttrsOfB & AttrsfromParent) {
return attrs;
}
,并在调用时会键入a和b属性:
a(<AttrsfromParent>() => b<AttrsfromParent>({
a: true,
b: true,
})
);
任何有关如何解决此问题的建议将不胜感激!