這個問題估計大家很難想到,如果一個數組[1,2,3,4],然后我們v-for遍歷,我們改變數組的值,arr[1] = 5 ,難道不應該改變么?按理說根據vue的特性應該是改變的,但是事實上確實數組已經改變了,但是頁面上面卻沒有變化。有三種解決辦法。
1.通過7個特定的api方法來實現
push pop shift unshift splice sort reverse
如果我們想要實現上面說的效果就 這樣寫:vm.list.splice(2,1,5) //意思是把list這個數組的坐標為二的值開始,刪除1個,然后添加一個5
2.通過改變對象地址的方法來實現
說白了就是 vm.list=[1,5,3,4] 重新賦值
3.通過set的方法來實現
Vue.set(vm.list,1,5) // Vue 對象
vm.$set(vm.list,2,6) // Vue 實例