vue3 + ts:元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型...上找不到具有类型为 “string“ 的参数的索引签名
写ts比较少,在写代码的时候,对一个对象做了一个for…网上找了下,才明白原来key值的类型不是string,在javascript中是默认给你转好的,而在Typescript中则不是。在tsconfig.json中compilerOptions里面新增忽略的代码,如下所示,添加后则不会报错。在定义的Interface里对其进行声明。
·
背景
写ts比较少,在写代码的时候,对一个对象做了一个for…in循环,然后取到了其每一个key对应的value值,但是写完之后发现编辑器提示报错了,错误内容就是如下问题:
问题
解决
网上找了下,才明白原来key值的类型不是string,在javascript中是默认给你转好的,而在Typescript中则不是。
方案一
在tsconfig.json中compilerOptions里面新增忽略的代码,如下所示,添加后则不会报错
"suppressImplicitAnyIndexErrors": true
方案二
在定义的Interface里对其进行声明
// 告警参数项
export interface AlarmConfigItem{
id:string,
deviceID:string,
objno:string | number,
name:string,
[key: string]: string
}
推荐第二种方法
更多推荐
已为社区贡献3条内容
所有评论(0)