vue3.0学习记录(4)

安装axios
npm install axios --save

安装完成之后就可以调用axios发送请求了

发送请求

如新建一个ts文件,发送一个简单的请求:

import { ref } from 'vue'
import axios from 'axios'

function useURL<T>(url: string){
    const loading = ref(true)
    const loaded = ref(false)
    const result = ref<T | null>(null)
    const error = ref(null)

    axios.get(url).then((res)=>{
        loading.value = false;
        loaded.value = true;
        result.value = res.data;
    }).catch((e)=>{
        error.value = e;
        loading.value = false;
    })

    return{
        loading,
        loaded,
        result,
        error
    }
}
export default useURL

在vue文件中调用:

<template>
  <div>
    <h1 v-if="loading">loading...</h1>
    <img v-if="loaded" :src="result.message">
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue';
import useurl from './test/useURL'

interface DogResult{
  message: string;
  status: string;
}
//  确定类型,都为string类型

export default defineComponent({
  name: 'App',
  setup(){
    const {loading,loaded,result} = useurl<DogResult>('https://dog.ceo/api/breeds/image/random')

    return{
      loading,loaded,result
    }
  }
});
</script>

就会出现以下页面:
首先还没有请求到数据,显示加载中
在这里插入图片描述
然后请求到数据,正确显示狗狗图片
在这里插入图片描述
简单的get请求就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值