vue 數組渲染問題

vue 數組渲染問題vue

問題一: 用v-for循環渲染數組數據時,數據更新了,視圖卻沒有更新數組

  因爲 JavaScript 的限制, Vue 不能檢測如下變更的數組:
    1. 當你利用索引直接設置一個項時,例如: vm.items[indexOfItem] = newValue
    2. 當你修改數組的長度時,例如: vm.items.length = newLengthspa

解決方法:prototype

  爲了不第一種狀況,如下兩種方式將達到像 vm.items[indexOfItem] = newValue 的效果, 同時也將觸發狀態更新:blog

// Vue.set
Vue.set(example1.items, indexOfItem, newValue) (數組, 索引, 值)

// Array.prototype.splice`
example1.items.splice(indexOfItem, 1, newValue) (索引, 長度, 值)

  避免第二種狀況,使用 splice:索引

example1.items.splice(newLength)
相關文章
相關標籤/搜索