1.改变对象的某个属性值
this.tableData是一个数组,this.tableData[index]是一个对象.如果直接修改:
this.tableData[index].editable = true
用上面的方法改变对象的一个属性editable,打印发现值已经改变了,但是视图并没有渲染出来,应该用:
this.$set(this.tableData[index], 'editable', true)
// this.$set(要改变的对象, '属性名', 属性值)
2.改变数组的某一项
this.tableData是一个数组,this.tableObj是一个对象.如果直接改变数组的某一项:
this.tableData[index] = this.tableObj
也是视图层不会渲染出来.用下面两种方法都可:
this.$set(this.tableData, index, this.tableObj)
this.tableData.splice(index, 1, this.tableObj)
深拷贝:
this.tableObj = JSON.parse(JSON.stringify(row))