vue 數組渲染問題


vue 數組渲染問題

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

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

解決方法:

  為了避免第一種情況,以下兩種方式將達到像 vm.items[indexOfItem] = newValue 的效果, 同時也將觸發狀態更新:

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

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

  避免第二種情況,使用 splice:

example1.items.splice(newLength)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM