我正在向一个返回JSON的API发出请求,但是密钥并不总是一致的,但是我确实知道它将基于输入参数。我是Angular HttpClient
工作原理的新手。
我正在尝试建立这样的界面:
我有我的职能:
convert(amount: number, fromCurrency: string, targetCurrency: number): number
我希望我的界面像这样:
interface UserResponse {
fromCurrency + "_" + targetCurrency: string
}
这显然行不通,但是我希望我要实现的目标能够通过我的逻辑。
编辑:这是我要使用的API: https://www.currencyconverterapi.com/docs
答案 0 :(得分:0)
首先,您在打字稿运行时无法达到目的。
如果您不知道对象键的名称,则可以使用Index Signatures
这可能与您的问题不太紧密。但这是另一种方式
实现“动态键类型”
例如
interface Foo {
[key:string]: number
}
let foo: Foo = {x:1,y:2,..and what ever number type property};
您还可以先定义所有类型:
type Index = 'USD_PHP' | 'b' | 'c'
type FromIndex = { [k in Index]?: number }
您可以通过查看此Typescript deep dive
了解更多信息