首页 > 解决方案 > Vuejs - 更新数组中的对象

问题描述

我正在使用 VueJs,并且我有一个对象数组。我想要做的是根据其索引更新数组中的对象。为此,我编写了一个方法:

updateRow(index) {
      this.inputs[index]={ "one": "test", "two": "test" }
    }

但是,该对象只是不更新​​。我为它创建了以下 jsbin。

https://jsbin.com/boturuluxe/1/edit?html,js,控制台,输出

任何帮助表示赞赏。

标签: javascriptvue.js

解决方案


由于 JavaScript 的限制,Vue 无法检测到数组的以下更改:

  1. 当您直接设置带有索引的项目时,例如 vm.items[indexOfItem] = newValue

  2. 当你修改数组的长度时,例如 vm.items.length = newLength

解决方案是: this.$set(this.inputs, index, { "one": "test", "two": "test" })

在这里阅读更多


推荐阅读