直接給一個數組項賦值,Vue 能檢測到變化嗎?


由於 JavaScript 的限制,Vue 不能檢測到以下數組的變動:

  • 當你利用索引直接設置一個數組項時,例如: vm.items[indexOfItem] = newValue
    當你修改數組的長度時,例如: vm.items.length = newLength
  • 為了解決第一個問題,Vue 提供了以下操作方法:
    • 通過索引來修改數組,使其能成為響應式,解決直接使用賦值不能響應的問題
      Vue.set(vm.data,2,'huanpu','name')    對數組
      Vue.$set(vm.data,'K','V')  對對象


      1. 參數一表示要處理的數組名稱。
      2. 參數二表示要處理的數組的索引。
      3. 參數三表示要處理的數組的值。
  • 為了解決第二個問題,Vue 提供了以下操作方法:
// Array.prototype.splice
vm.items.splice(newLength)

   newLength  就是指的你更新的長度

 


免責聲明!

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



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