vue遍历一个数组获取id,用id调用后台接口获取相应数组,把所有返回的数组拼接起来,赋值给一个新数组,给出具体代码
时间: 2024-10-19 07:06:40 浏览: 29
在Vue中,你可以使用`v-for`指令来遍历数组,然后通过`this.$http`或axios等库来异步获取数据。假设你有一个名为`items`的数组,每个对象都有一个`id`属性,你需要按照这个ID请求新的数据并合并到一个新数组`allData`中,可以这样做:
```html
<template>
<div>
<ul>
<li v-for="item in items" :key="item.id">
{{ item.title }}
<!-- 使用axios或vue-resource的get方法 -->
<button @click="fetchData(item.id)">获取详情</button>
</li>
</ul>
<div v-if="allData.length">所有数据:{{ allData }}</div>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
items: [], // 假设这是你的初始数组
allData: [] // 存放所有请求结果的新数组
};
},
methods: {
fetchData(id) {
axios.get(`your-api-url/${id}`)
.then(response => {
// 将请求结果添加到allData
this.allData.push(response.data);
})
.catch(error => {
console.error('Error fetching data:', error);
});
}
}
};
</script>
```
在这个例子中,当点击“获取详情”按钮时,会发起一个GET请求到指定的URL(例如`your-api-url/1`),成功后将响应数据推入`allData`数组。注意,这只是一个基本示例,实际应用可能需要处理更复杂的情况,如分页、错误处理以及合并后的数据清理。
阅读全文