在vue中,初始化数据会进行双向数据的绑定,进行object.defineProperty()对属性进行绑定setter和getter的方法
所以属性必须在data中,如果不在data中是没有办法监听到的
Vue是监听不到数组的变化,比如
直接修改数组的长度和利用数组的索引进行重新赋值
所以在这里,你修改的数据,视图不发生变化,就需要用到vue中的内置方法
$set的使用
实际场景
1642733901(1).png
点击编辑需要重新进行反显,然后重新赋值,因为是数组,所以直接去赋值,表格的数据是没有办法进行更新
this.$set(this.tableData, this.index, {
name: region,
situation: desc,
happen: this.dateFormat(date),
record: this.dateFormat(new Date()),
})
这个时候,就可以用到this.$set进行赋值
vue
参数有三个
1.第一个是你需要赋值的属性名称
2.第二个参数可以是当前下标,或者属性名称
3.是你需要替换的值