数组列表的元素发生变化不能更新渲染

比如,页面的某个元素打开和关闭

一、this.$set实现什么功能,为什么要用它?

当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了,简单来说this.$set的功能就是解决这个问题的啦。官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = ‘hi’).

 

原因是vue监听不到数据类型特别复杂的属性。

可以使用this.$set()来进行强制更新,进而解决问题

对象操作:

 三个参数:this.$set("改变的对象","改变的对象属性","值")

数组操作:

  三个参数:this.$set("数组","下标","值")

 

posted @ 2021-05-17 15:05  哆啦a梦爱吃铜锣烧  阅读(88)  评论(0编辑  收藏  举报