Javascript 未定义的axios属性get
我在src/lib/lib.ts中有一个类Javascript 未定义的axios属性get,javascript,typescript,vue.js,nuxt.js,Javascript,Typescript,Vue.js,Nuxt.js,我在src/lib/lib.ts中有一个类 export default class LibClass implements LibInterface { someFunc () { ... const httpResponse = await (this as any).$axios.$get(url) return httpResponse.data } } 并通过 import { Inject } from 'inversify-p
export default class LibClass implements LibInterface {
someFunc () {
...
const httpResponse = await (this as any).$axios.$get(url)
return httpResponse.data
}
}
并通过
import { Inject } from 'inversify-props'
import LibInterface from '@/lib/lib'
@Component
export default class Test extends Vue {
@Inject()
private libCLass!: LibInterface
}
并且我正在获取TypeError:无法读取未定义的属性“$get”
我已经在tsconfig.json上定义了@nuxtjs/axios
"types": [
"@nuxtjs/axios",
]
我在LibClass
上使用$axios
来分离我的axios调用,并使用依赖注入(inversify.js)
有什么办法可以解决这个问题吗?edited@estusflask这个问题仍然没有提到LibClass是如何使用的,以及为什么您希望$axios会出现。如果您使用Inversify注入,请提供所有相关代码@Tconfig.json上的nuxtjs/axios不应该有帮助,它只影响TS类型,当您遇到运行时错误时,这意味着$axios确实不存在。好吧,我在vue组件上注入没有任何问题,这就是为什么我没有包括它。我使用的是nuxt社区axios。我只需要在我的组件上调用该函数,这就是为什么我需要$axios。我需要分离axios调用以使代码更具可读性。我遵循了文档,我认为this.$axios将使其成为全球性的,我可以在任何不是组件的地方访问它。它是一个将被注入到我的组件上的类:/。