javascript - 如何访问每个 JSON 对象的属性?
问题描述
所以我正在使用 Axios 进行 API 调用,并将 JSON 响应推送到一个空数组。我在访问每个对象的各个属性时遇到问题。`
<div class="wrapper">
<div class="row">
<div v-for="group in groups" :key="group.id">
<div class="col-md-4 cards">
<h3>{{ group[1].name }}</h3>
<h3>{{ group.name }}</h3>
</div>
</div>
</div>
</div>
</div>
然后我的js是
import axios from 'axios'
export default {
name: 'app',
data () {
return {
groups: [],
loading: false
}
},
methods: {
getHomes: function() {
this.loading = true;
axios.get("*******")
.then((response) =>{
this.loading = false;
this.groups.push(response.data);
// console.log(this.groups)
}, (error) => {
this.loading = false;
})
},
我可以通过对数组索引进行硬编码来访问每个单独的 group.name,但是我在动态访问它们时遇到了问题。
解决方案
而不是这样做:
.then((response) =>{
this.loading = false;
this.groups.push(response.data);
}, (error) => {
this.loading = false;
})
只需将 response.data 分配给 groups 变量。
.then((response) =>{
this.loading = false;
this.groups = response.data;
}, (error) => {
this.loading = false;
})
在您的模板中:
<div v-for="(group, index) in groups" :key="index">
<div class="col-md-4 cards">
<h3>{{ group.name }}</h3>
<h4>{{ group.url }}</h4>
</div>
</div>
您无法访问该项目的原因是因为您将对象数组推送到数组中,因此您需要在另一个数组中遍历该数组。
推荐阅读
- angular - Ag-grid angular:如何获取垂直滚动条的状态(ScrollVisibleService)
- jquery - 在 jquery 插件上使用事件
- snowflake-cloud-data-platform - 如何连接 Linode S3 存储桶
- java - JOptionPane 动作监听器在退出时发布
- python - 使用文件输入库查找和替换程序不起作用
- database - Cassandra 集群 - 种子提供者如何工作?
- c++ - 如何从 txt 文件中读取文本?
- sqlite - EF Core SqlLite 内存中没有这样的表?
- sql - 如何在 Oracle SQL 中使用 Member of 以及为什么我的实现会抛出错误数量的参数类型
- python - 我们可以绘制 3d matplotlib 时间序列图吗?