vue中修改数组,dom未更新的问题

vue中我们会频繁操作各种数据,但有时候发现修改完数据以后,dom并未更新?

比如有一个数组对象:

obj = [{'name': 'joy'},{'name': 'bowen'}]

我要循坏插入某个属性,或者修改某个属性的值:

for (let i=0; i<obj.length; i++) {
  obj[i].year = '20'
}
发现数组可以修改成功,但是dom元素不会更新,这是为什么呢?

原因:vue监听对象的变化,但是无法监听对象自身属性的改变,所以无法更新dom,除非我们更新这个数组:

this.$set( target , key , value )

强制渲染页面

target:要更改的数据源(可以是对象或者数组);

key:要更改的具体数据;

value:重新赋的值;

 

希望本文对你有所帮助!

 

posted on 2019-07-27 20:03  王子乔  阅读(5676)  评论(0编辑  收藏  举报

导航