src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 > 隐式具有“任何”类型,因为类型“Foo”没有索引签名
Posted
技术标签:
【中文标题】src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 > 隐式具有“任何”类型,因为类型“Foo”没有索引签名【英文标题】:ERROR in src/app/app.component.ts(391,9): error TS7017: Element > implicitly has an 'any' type because type 'Foo' has no index signature 【发布时间】:2019-11-11 23:45:46 【问题描述】:我没有分配这样的新属性:Typescript error: TS7053 Element implicitly has an 'any' type 因此任何都不起作用。我只是想根据界面编辑现有属性
updateFieldTest(index: number, field: string )
const tasks: Foo[] = [
foo:1,bar:2,
foo:1,bar:2,
foo:1,bar:2,
foo:1,bar:2,
]
const task = tasks[index];
task[field] = 4
界面Foo
export interface Foo
foo: number,
bar: number
给出这个错误
src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 隐式具有“任何”类型,因为类型“Foo”没有索引签名
作为临时解决方案,将field: string
更改为field: 'foo' | 'bar'
但是有更好的方法吗?
【问题讨论】:
Typescript error: TS7053 Element implicitly has an 'any' type的可能重复 @MuratKaragöz 这不是重复的。我没有分配这样的新属性:Typescript 错误:TS7053 元素隐式具有“任何”类型因此任何都不起作用。我只是想根据界面编辑现有属性请参阅编辑。 【参考方案1】:您缺少Foo
的索引类型,它是从field:string
派生的string
。
interface Foo
foo: number,
bar: number,
[index: string]: any
【讨论】:
以上是关于src/app/app.component.ts(391,9) 中的错误:错误 TS7017:元素 > 隐式具有“任何”类型,因为类型“Foo”没有索引签名的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Ionic 5 中的@ionic/angular 错误修复成员事件
angular2: ElementRef 获取 CSS 填充属性