比如,页面的某个元素打开和关闭
一、this.$set实现什么功能,为什么要用它?
当你发现你给对象加了一个属性
,在控制台能打印出来,但是却没有更新到视图上时
,也许这个时候就需要用到this.$set()
这个方法了,简单来说this.$set的功能就是解决这个问题的啦。官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = ‘hi’).
原因是vue监听不到数据类型特别复杂的属性。
可以使用this.$set()来进行强制更新,进而解决问题
对象操作:
三个参数:this.$set("改变的对象","改变的对象属性","值")
数组操作:
三个参数:this.$set("数组","下标","值")