最佳答案
我在我的 Angular 2应用程序中得到了这个编译错误:
TS7015: 元素隐式具有“ any”类型,因为索引表达式的类型不是“ number”。
造成这种情况的代码是:
getApplicationCount(state:string) {
return this.applicationsByState[state] ? this.applicationsByState[state].length : 0;
}
然而,这并不会导致这个错误:
getApplicationCount(state:string) {
return this.applicationsByState[<any>state] ? this.applicationsByState[<any>state].length : 0;
}
这对我来说毫无意义。我想在第一次定义属性时解决这个问题。现在我在写:
private applicationsByState: Array<any> = [];
但有人提到,问题在于试图使用字符串类型作为数组中的索引,我应该使用映射。但我不知道该怎么做。
谢谢你的帮助!