【发布时间】:2021-11-08 15:09:21
【问题描述】:
我需要使用“方法”等动态道具定义一个类。这是我写的
type Methods = {
[name:string]:Function
}
class App <M extends Methods> {
[name: keyof M] : M[name] // dont work
}
var methods = {
action : Function,
move : Function
}
type M = keyof typeof methods;
type myApp = App<typeof methods>;
但我收到以下错误。这些可以修复吗?
索引签名参数类型不能是文字类型或泛型类型。考虑改用映射对象类型。
'name' 指的是一个值,但在这里被用作一个类型。你是说'typeof name'吗?
从导出接口返回的索引签名类型已经或正在使用私有名称'name'。
【问题讨论】:
-
什么错误?请edit您的问题包含它,不要只发布外部资源的链接。
标签: javascript typescript