You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中如何使用动态值访问后端返回的指定数组属性

问题原因

你代码的问题是混淆了JavaScript对象两种属性访问方式的用法:

  • 点语法(obj.key):后面的key会被当作固定的属性名字面量处理,你写this.data.id时,代码实际尝试访问的是this.data里名为id的属性,而不是id变量存储的字符串对应的属性。
  • 方括号语法(obj[变量/表达式]):方括号内可以传入变量、字符串表达式,会把计算结果作为属性名访问对象属性,正好匹配你要动态用id变量值取属性的需求。

修复方案

把getContent函数里的取值逻辑改成方括号访问即可:

getContent(id) {
  this.accordion = this.data[id];
  console.log("data", id);
}

修改后代码会先取id变量的值topSellers,再访问this.data.topSellers,和你直接写固定属性名的效果完全一致。

内容的提问来源于stack exchange,提问作者Harold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:06:01