vue3在接口返回几张图片并点击其中一张使接口返回新的图片
时间: 2024-03-27 07:37:39 浏览: 94
对于Vue3来说,你可以在组件中使用一个数组来存储你的图片信息,然后通过v-for指令将它们渲染到页面上。然后,你可以在每张图片上添加一个点击事件,该事件将调用一个方法,并向接口发送请求以获取新的图片信息并更新页面中的特定图片。
以下是一个简单的示例代码:
```html
<template>
<div>
<img v-for="(img, index) in images" :key="index" :src="img.url" @click="loadNewImage(index)" />
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
images: []
};
},
mounted() {
// 初始化页面
this.loadImages();
},
methods: {
async loadImages() {
// 向接口发送请求以获取图片信息
const response = await axios.get('/api/images');
// 将图片信息添加到数组中
this.images = response.data;
},
async loadNewImage(index) {
// 向接口发送请求以获取新的图片信息
const response = await axios.get('/api/new-image');
// 更新页面中的特定图片
this.images[index] = response.data;
}
}
};
</script>
```
在这个示例中,我们在组件的data选项中定义了一个空数组images,然后使用v-for指令将其渲染到页面上。我们为每张图片添加了一个@click事件,该事件将调用loadNewImage方法,并将图片的索引作为参数传递给它。loadNewImage方法使用axios库发送一个GET请求以获取新的图片信息,并将其更新到images数组中的特定位置以更新页面中的特定图片。在组件的mounted钩子中,我们调用loadImages方法以初始化页面。
阅读全文