在vue中修改數(shù)據(jù),但是vue沒有檢測數(shù)據(jù)修改,視圖數(shù)據(jù)未能更新的情況
- 使用index索引修改數(shù)據(jù)時,this.array[index].attributeName = newValue
- 視圖修改數(shù)組長度,this.array.length = newLength
vue能監(jiān)測到的數(shù)據(jù)更新方法,包括(前7個方法會改變原數(shù)組)
- push() ----向數(shù)組末尾添加一個或者多個元素,并返回新的長度
- pop() ----刪除數(shù)組的最后一個元素,把數(shù)組的長度減1,并返回被刪除元素的值
- unshift() ----向數(shù)組的開頭添加一個或多個元素,并返回新的長度
- shift() ----數(shù)組的第一個元素從其中刪除,并返回被刪除的值
- splice() ----從數(shù)組中添加/刪除項目,然后返回被刪除的項目
- sort() ----對數(shù)組的元素進行排序
- reverse() ----對數(shù)組的元素進行倒序排序
- filter(), concat(), slice() 。這些不會改變原始數(shù)組,但總是返回一個新數(shù)組。當使用非變異方法時,可以用新數(shù)組替換舊數(shù)組
- Vue2.0新增的Vue.set( target, key, value )方法監(jiān)測更新視圖數(shù)據(jù)
視圖數(shù)據(jù)無法更新的解決方案
// 數(shù)組操作, 更新整個數(shù)組
this.intershipList.splice(this.intershipList, 0)
// Vue.set( target, key, value),更新數(shù)組某項數(shù)據(jù)
Vue.set(this.intershipList, index, newValue])