typescript中是使用for in 循环报错

我定义了一个文件 api.ts:

export default {
    login: '/account/login post'
}

在另外一个文件中引入 import api from './api'

然后对这个api进行循环

for(const key in api) {
     console.log(api[key]);
}

这个时候就报错误信息: Element implicitly has an 'any' type because type '{ login: string; }' has no index signature.

ts版本:3.0.0

哪位大神有遇到此类问题还请赐教,谢谢!

阅读 7.3k
2 个回答

已解决。贴一下我解决的方法:

import api from './api'



const Api: any = api;   //重新定义了下循环的对象


for(const key in Api) {
    APIFunction[key] = gen(Api[key])
}

刚开始学ts,写到这里也是不会了,看了文档 ,我是这么解决的。

     interface Person {
      name: string;
      age: number;
     };
     let i:any;
     let person: Person = {
        name: 'dc',
        age: 35
      };
      const c = <T, K extends keyof T>(o: T, name: K): T[K] => {
        return o[name];
      };
      for(i in person){
        c(person,i)
      }
      
      
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进