nodejs vue中遇到参数传递不解析问题

在写nodejs,和vue的时候,想给data里面的maps动态添加属性,函数内容如下
addProperty:function(i,value){
this.maps.i=value
this.$forceUpdate()
}
比如,当外界调用addProperty函数的时候,当我传1给形参i,我想给maps属性添加一个属性名为1,值为value,当外界传2给形参i,我就能给maps添加一个属性名为2,值为value。
而实际代码运行的结果是,无论外界传什么参数给形参i,maps的属性名始终为i,而不会用外界的传递值替代,求解如何实现我的想法

方法一


addProperty:function(i,value){
this.maps.[i]=value
this.$forceUpdate()
}

方法二


addProperty:function(i,value){
this.$set(`maps[${i}]`,value)

}

addProperty: function(i, value) {
        this.maps[i] = value
        this.$forceUpdate()
    }

js里对象 的属性如果是变量 可以用[属性名来赋值和取值]

//这个就是 给 obj 加一个 动态的属性 a
    let a="tt";
    let obj={};
    obj[a]="888";
    console.log(obj)

这句写错了,i是变量,变量要用这种

this.maps[i]=value

语法错误,js中的对象链式写法是针对已知属性,而你的属性是动态添加的所以要采用obj[属性名]=value,再提个建议不要强制更新,强制更新会消耗一定的性能

把代码改成这样就可以了哦~

addProperty:function(i,value){
  this.$set(`maps[${i}]`,value)
}