Chr*_*s T 23 typescript typescript1.5
我有一个接口类型IRawParams
,只需指定一个string
键和值any
.
interface IRawParams {
[key: string]: any
}
Run Code Online (Sandbox Code Playgroud)
我有一个类,ParamValues
它包含键/值之上的一些行为.我想指定ParamValues
该类实现IRawParams
接口.
class ParamValues implements IRawParams {
parseFromUrl(urlString: string) {
Parser.parse(urlString).forEach(item => this[item.key] = item.val);
}
}
// so I can do something like this
var params = new ParamValues();
params.parseFromUrl(url);
var userId = params.userId;
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我得到一个编译器错误:
错误TS2420:类'ParamValues'错误地实现了接口'IRawParams'."ParamValues"类型中缺少索引签名.
我可以让我的类实现IRawParams接口,或者获取Typescript以允许我的类的实例与索引类型兼容{[key: string]: any}
吗?
Rya*_*ugh 27
要定义具有索引签名的类,只需在类中编写索引签名:
interface IRawParams {
[key: string]: any
}
class Foo implements IRawParams {
[k: string]: any;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9550 次 |
最近记录: |