Vue3下,setup()中的axios请求问题
在Vue2中,使用 methods 方法可以进行axios请求
methods:{asyncpostInfo(){const{data:res}=awaitthis.$http.post('/api/post',{name:'zs',age:20})console.log(res);}}
点击按钮后,成功发送post请求
但在Vue3中,setup()
中没有 this
,使用原语句会产生如下报错:
要想在setup()
中使用需要在 main.js 中
//main.jsapp.config.globalProperties.$http=axios//加入使用provide方法app.provide('$http',axios)
在组件中使用inject
进行注入
//axios.vueimport{inject}from'vue'setup(){//inject方法注入const$http=inject("$http")constpostInfo=async()=>{const{data:res}=await$http.post('/api/post',{name:'zs',age:20})console.log(res)}}
点击按钮后,成功发送post请求