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:重新賦的值;
希望本文對你有所幫助!