开发者问题收集

Vue.js:如何更新对象数组?

2021-03-12
85

我正在尝试更新 Vue.js 中的对象数组。当尝试更新我的位置的值时,我很难更新数组内的对象。

当我注销对象时,我得到这个:

console.log(this.location) // {…}

console.log(this.location.additionalProperties);  // [{…}, __ob__: Observer]

console.log(this.location.additionalProperties.integrations);  // undefined

我的 additionalProperties 对象如下所示:

"additionalProperties": [
    {
      "integrations": [
        {
           "foo": {
               "locationId": 123,
               "example": "bar",
               ...
           }
        }
      ]
    }
],

我将我的 location 作为 props 传递,如下所示:

location: {
    type: Object,
    required: true,
    default: () => ({}),
},

我知道我正确传递了位置。我相信这是一个语法问题,我正在努力解决。我试图将我的 foo 对象设置为如下内容:

this.location.additionalProperties.integrations.foo = {
   locationId: 456,
   example: "testing",
   somethingElse: "anotherValue"
}

使用上述方法,我将获得 cannot set foo of undefined 版本。如何更新 additionalProperties 数组中的对象?

感谢您的任何建议!

1个回答

additionalProperties 是一个数组

"additionalProperties": [
    {
      "integrations": [
        {
           "foo": {
               "locationId": 123,
               "example": "bar",
               ...
           }
        }
      ]
    }
],

this.location.additionalProperties[0].integrations.foo = ...

2021-03-12