src / app / app.component.ts(391,9)中的错误:错误TS7017:元素>隐式具有“ any”类型,因为类型“ Foo”没有索引签名

时间:2019-07-01 09:59:16

标签: typescript

我不会分配这样的新属性:Typescript error: TS7053 Element implicitly has an 'any' type因此,任何方法都将不起作用。我只是想根据界面来编辑现有属性

answer = serial_comunication.read(400)

print(answer)
NEW_TEMPERATURE=45
set_temp=serial_comunication.write(b'NEW_TEMPERATURE')
print(set_temp)
abc=serial_comunication.close()
print(abc)
results:
b''
15
None
can't understand these result

界面Foo

   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
    }

给出此错误

  src / app / app.component.ts(391,9)中的

ERROR:错误TS7017:元素   隐式地具有“ any”类型,因为类型“ Foo”没有索引签名

作为临时解决方案,将export interface Foo { foo: number, bar: number } 更改为field: string

但是有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您缺少Foo的索引类型,该索引类型是从string派生的field:string

interface Foo {
    foo: number,
    bar: number,
    [index: string]: any
}