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

Vue.js中如何通过变量设置this.hint[variableA].variableB的值?

解决方法

你的问题出在动态访问对象属性的语法上:用.访问属性时,j会被解析成字面量的属性名,而不是你传入的变量。要实现动态属性访问,需要用方括号语法,同时调用方法时要传入正确的属性名字符串。

修改后的代码如下:

data() {
  return {
    hint: [{a:0,b:0,c:0},{a:0,b:0,c:0},{a:0,b:0,c:0}],
  }
},

methods: {
  selectHint(){
    this.setHint(0, 'a') // 这里要传字符串形式的属性名
  },
  setHint(i,j){
    this.hint[i][j] = 1 // 用方括号语法访问动态属性
  },
},

关键说明:

  • 调用setHint时,第二个参数必须是字符串(比如'a'),否则a会被当作未定义的变量报错。
  • 使用this.hint[i][j]而不是this.hint[i].j,因为方括号允许你用变量作为属性名来访问对象的属性。
  • 由于你的hint数组里的对象已经预先定义了a、b、c属性,直接赋值就能触发Vue的响应式更新,不需要额外使用Vue.set或this.$set。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 22:12:25