為什么要使用Vue.$set(target,key,value)


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方法。


免責聲明!

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



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