由於 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 就是指的你更新的長度