我正在尝试学习TypeScript,但是当涉及到接口时遇到了障碍。我有一个对象,我想要将一个token
和一个route
保存在其中,如下所示:
const obj = {
token: 'thisismytoken',
'/path/to/somewhere': [{ ... }]
}
我在这里遇到的问题是:如何为这个对象生成接口?
我尝试过:
interface iObject {
token: string;
[key: string]: { ... }[]
}
但是这会生成错误:
TS2411: 类型为 'string' 的属性 'token' 无法分配给类型 '{...}' 的字符串索引类型。
当我尝试类似以下代码时,同样的问题也会出现:
interface iRoute {
val1: number;
val2: string;
}
interface iObject extends iRoute {
token: string;
}
当我尝试下列操作时:
interface iObject {
[key: string]: { ... }[] | string;
}
当我尝试向路由变量添加数据时,出现以下错误:
是否有其他方法可以解决这个问题?TS2339:类型“string | { ... }[]”上不存在属性“push”。
类型“string”上不存在属性“push”。