当前是否可以在TypeScript中的类上实现索引器?在TypeScript中的类中实现索引器
class MyCollection {
[name: string]: MyType;
}
这不能编译。当然,我可以在接口上指定一个索引器,但是我需要这种类型的方法以及索引器,所以一个接口是不够的。
谢谢。
当前是否可以在TypeScript中的类上实现索引器?在TypeScript中的类中实现索引器
class MyCollection {
[name: string]: MyType;
}
这不能编译。当然,我可以在接口上指定一个索引器,但是我需要这种类型的方法以及索引器,所以一个接口是不够的。
谢谢。
你不能用索引器实现一个类。您可以创建一个接口,但该接口不能由类实现。它可以在普通的JavaScript来实现,并且可以指定功能以及接口上的索引:
class MyType {
constructor(public someVal: string) {
}
}
interface MyCollection {
[name: string]: MyType;
}
var collection: MyCollection = {};
collection['First'] = new MyType('Val');
collection['Second'] = new MyType('Another');
var a = collection['First'];
alert(a.someVal);
这是一个老问题,对于谁寻找答案:现在它可以定义索引属性像:
var lookup : {[key:string]:AnyType};
关键的签名必须是字符串或整数看到:
否:请参阅http://typescript.codeplex.com/discussions/398379和http://stackoverflow.com/questions/14791550/how-to-implement-array-signature-method-in-typescript以及 – MiMo 2013-02-12 22:06:06