Nuxt-asyncData错误:“绑定元素'$ axios'隐式具有'any'类型。”

时间:2020-09-27 21:16:45

标签: typescript vue.js async-await nuxt.js typeerror

在此处关注文档:https://axios.nuxtjs.org/setup

运行yarn dev时,我将错误记录到控制台:

ERROR  ERROR in pages/index.vue:51:21                                                                                                                                                                                                                                                                           23:01:53
TS7031: Binding element '$axios' implicitly has an 'any' type.
    49 |   }
    50 | 
  > 51 |   async asyncData({ $axios }) {
       |                     ^^^^^^
    52 |     const ip = await $axios.get('http://icanhazip.com')
    53 |     return { ip }
    54 |   }

我已三遍检查自己的'@nuxtjs/axios'nuxt.config.js中是否有tsconfig.json

我想念什么?它第一次工作,然后出现此错误,我不知道为什么?!

任何帮助表示感谢,谢谢!

1 个答案:

答案 0 :(得分:1)

asyncData传递了一个名为context的参数,该参数在@nuxt/types中具有对应的类型,称为Context。从Context导入@nuxt/types,然后像这样声明解构后的参数的类型:

async asyncData({ $axios } : Context) {
  const ip = await $axios.get('http://icanhazip.com')
  return { ip }
}