+-

我是打字稿新手。
这就是我正在做的。
//importing a class
import { ApiStatus } from "./src/api/ApiStatus";
const routes = {
status: ApiStatus,
}
for (let route in routes) {
if (routes.hasOwnProperty(route)) {
const ApiClass = routes[route];
const app = new ApiClass(context);
console.notice(`Creating Api for ${route}`);
exports[route] = app.handler; // Create api
}
}
在此行
const ApiClass = routes[route];
抛出错误说
元素隐式地具有'any'类型,因为类型的表达式 'string'不能用于索引类型'{status:typeof ApiStatus; }'。 在类型上未找到带有“字符串”类型参数的索引签名 '{状态:ApiStatus的类型; }'
我无法理解此错误,有人可以向我解释我在这里可能做错了什么吗?还是错误?
0
投票
投票
您需要告诉打字稿它如何访问您拥有的索引类型
interface IRoutes {
[string]: any;
status: ApiStatus;
...
}
const routes: IRoutes = {
status: ApiStatus,
}