我们说我有以下代码:
function addProperties(keys: String[]): Object
{
// For the sake of example, this is a concrete return
return {
firstProperty: "first_value",
secondProperty: "second_value"
};
}
export default {
propertyBag: {
...addProperties(["firstProperty", "secondProperty"])
},
someMethod() {
return this.firstProperty;
}
};
Typescript自然会抱怨此对象上不存在firstProperty
。
是否有可能动态地“生动”。添加类型信息让TS知道此对象上是否存在firstProperty
和secondProperty
?
理想情况下,我希望能够在不必为propertyBag
单独定义的情况下执行此操作,如下面的答案所示。
答案 0 :(得分:1)
不确定addProperty
来自哪里以及它的定义是什么,但假设它返回一个具有指定为参数的属性的对象,您可以指定someMethod
将具有{{1}参数与属性包的类型相同。唯一的问题是您需要将this
的定义与propertyBag
:
export default