vue中不能檢測到數組和對象的兩種變化:
1.數組長度的變化 vm.arr.length = 4
2,數組通過索引值修改內容 vm.arr[1] = 'aa'
Vue.$set(target,key,value)可以動態的給數組、對象添加修改數據,並更新視
圖中數據的顯示。
vue在構造函數new Vue()時,就通過Object.defineProperty中的getter和setter 這兩個方法,完成了對數據的綁定。所以直接通過vm.arr[1] = 'aa'的方法,無法修改值觸發vue中視圖的更新,必須還得通過Object.defineProperty的方法去改變,而Vue.$set()就封裝了js底層的Object.defineProperty方法。