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

Vue.js如何实现动态访问data中指定属性的对应值

解决方案

你需要使用 JavaScript 的方括号属性访问语法读取动态属性名对应的值,修改后代码如下:

data:{
  brand: undefined,
  model: undefined
},
methods:{
  check(){
    let fields = ['brand', 'model'];
    for(let i in fields){
      // 用方括号包裹动态属性名,即可正确读取对应值
      console.log(this[fields[i]])
    }
  }
}

原理说明

JavaScript 访问对象属性支持两种写法:

  • 点语法:仅支持固定属性名,写法为 对象.属性名
  • 方括号语法:支持传入变量/表达式作为属性名,写法为 对象[属性名变量]

你之前的写法用模板字符串拼接出的是"this.brand"这类普通字符串,JS 不会将其解析为对象属性访问逻辑,因此只能输出字符串本身,无法拿到实际值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:06:05