Vue---push数组视图不更新

3 阅读1分钟

记录一下自己的奇葩操作

let from ={};
//给表单增加一个空数组
from.list = []
from.list.push({id:'1',name:''})
this.$forceUpdate()

当时增加以后视图没有更新,没多想,直接反手一个this.$forceUpdate(),视图更新了

但是新问题出现了,在增加的视图里面编辑数据无法赋值

突然意识到深层次的数组没有被监听到,被自己蠢笑了,为了让vue监听深层次的数据变化,要用this.$set()

this.$set(from,'list',[])

如果你通过push shift pop 等数组方法更改数组,视图还没有更新,大概率你定义的数组没有被深层次监听,可以通过这个思路去排查问题