TypeScript 创建某个类型的字典
TypeScript create a dictionary of a type
我正在尝试在TypeScript中创建一个字典,其中字典中的每个元素都是类类型。
interface Methods {
[index: string]: MethodRep;
}
export class MethodRep {
name: string;
}
export class BaseFileStructure {
public methods: Methods;
constructor() {
this.methods = {};
}
}
但它似乎不喜欢它。我正在使用带有TypeScript插件的atom。它说Compile failed but emit succeeded
.
如果我将元素的类型更改为字符串,那么它可以工作(即使输入类型编号也不起作用(
interface Methods {
[index: string]: string; // only this works
}
我在这里错过了什么?
由于interface Methods
没有导出,但您将其用作导出类的一部分,如果您的编译器设置为创建声明 (d.ts( 文件(并且您使用的插件可能总是在幕后执行此操作并自行管理这些文件的编写(,TypeScript 会抱怨接口 Methods 未导出,因为它被可公开访问的成员引用:
错误 TS4031:导出类的公共属性"方法"具有或正在使用私有名称"方法"。
如果将interface Methods
更改为 export interface Methods
,这应该可以解决问题,因为否则您的代码没有问题。
你能尝试将MethodRep
类替换为这样的接口吗:
interface Methods {
[index: string]: MethodRep;
}
export interface MethodRep {
name: string;
}
export class BaseFileStructure {
public methods: Methods;
constructor() {
this.methods = {};
}
}
相关文章:
- javascript结合了数组和字典
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何将具有文本类型值的var放入jQuery函数中
- javascript解释器如何理解变量的数据类型
- 可变大小的JavaScript字符串如何成为基元类型
- AngularJS指令只识别双向绑定类型
- 在<输入类型=“;文件“/>
- 从查询字符串参数推断出正确的数据类型
- javascript中是否有字典数据类型
- 如何在挖空 JS 中填充嵌套字典类型对象
- 字典对象类型错误
- TypeScript 创建某个类型的字典
- 在Javascript〔Ajax〕中使用字典类型
- 结合了数组和字典属性的数据类型