vue中改變數組的值視圖無變化


今天開發的時候遇到一個多選取消點擊狀態的,渲染的時候先默認都選中,然后可以取消選中,自建了一個全為true的數組,點擊時對應下標的arr[index]改為false,數據改變了狀態沒更新,突然想起來單獨改變數字某一項或對象的屬性視圖不會更新,把數組改變值后重新復制結果可以了,項目結束后網上查了下具體情況,發現有大神總結的比較全面,怕找不到了摘抄了一段以作記錄,摘抄自:https://blog.csdn.net/qq_34935885/article/details/75734365

vue 直接改變數組數據不刷新

 

因為 javascript 的限制,Vue.js 不能檢測到下面數組變化:

  1. 直接用索引設置元素,如 vm.items[0] = {};

  2. 修改數據的長度,如 vm.items.length = 0。

為了解決問題 (1),Vue.js 擴展了觀察數組,為它添加了一個 $set() 方法:

// 與 example1.items[0] = ... 相同,但是能觸發視圖更新
example1.items.$set(0, { childMsg: ‘Changed!’})

 

或者使用vue變異方法:


免責聲明!

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



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