vue3中,调接口,渲染数据

1. 封装接口文档

javascript 复制代码
// src/apis/xxx.js中
// 1. 导入 封装的axios实例
import request from '@/utils/http'    

// 2. 封装接口 --获取轮播图数据
export const getBannerAPI = (params = {})=>{

    // 传默认参数->(传参 = 默认参数)
    const { distributionSite = '1' } = params

    return request({
        url:'/home/banner',
        method: 'GET',        //get请求可以默认不写
        params:{              //传参,GET请求:query参数->params; POST请求:Body参数->data
            distributionSite
        }
    })
} 

2. 调接口/发送请求

javascript 复制代码
<script setup>            // vue3中的setup组合式API(语法糖)
import { getBannerAPI } from '@/apis/home'    //1. 按需导入 接口
import { ref, onMounted } from 'vue'

const bannerList = ref([])            // 2. 定义一个响应式数据 来接收

const getBanner = async ()=>{         // 3. 使用es7中的async await异步方法调用接口
    const res = await getBannerAPI()
    bannerList.value = res.result     // 5. 接口成功发起后,将数据传给响应式数据
}

onMounted(() => getBanner())            // 4.调用钩子,发送请求 
</script>

发送完请求,可以使用Google浏览器 查看接口发送情况(Network -> Fetch/XHR)

3. 渲染页面

javascript 复制代码
<template>
    <div class="home-banner">
        <el-carousel height="500px">
            <!-- 调用 bannerList响应式数据 来渲染页面 -->
            <el-carousel-item v-for="item in bannerList" :key="item.id">
                <img :src="item.imgUrl" alt="">
            </el-carousel-item>
        </el-carousel>
    </div>
</template>

知识点:接口类型/HTTP请求方法

状态码

参考:HTTP 请求方法 | 菜鸟教程 (runoob.com)

接口文档:apifox-API文档

相关推荐
科科是我嗷~2 分钟前
【uniapp】textarea maxlength字数计算不准确的问题
javascript·uni-app·html
懒大王95273 分钟前
uniapp+Vue3 组件之间的传值方法
前端·javascript·uni-app
Vacant Seat1 小时前
图论-实现Trie(前缀树)
java·开发语言·数据结构·图论
烛阴1 小时前
秒懂 JSON:JavaScript JSON 方法详解,让你轻松驾驭数据交互!
前端·javascript
猪猪虾的业余生活1 小时前
Qt 驾校考试系统项目实现
开发语言·qt
香菇滑稽之谈1 小时前
责任链模式的C++实现示例
开发语言·c++·设计模式·责任链模式
拉不动的猪1 小时前
刷刷题31(vue实际项目问题)
前端·javascript·面试
zeijiershuai1 小时前
Ajax-入门、axios请求方式、async、await、Vue生命周期
前端·javascript·ajax
恋猫de小郭1 小时前
Flutter 小技巧之通过 MediaQuery 优化 App 性能
android·前端·flutter
只会写Bug的程序员1 小时前
面试之《webpack从输入到输出经历了什么》
前端·面试·webpack