Vue 數組中更新屬性值后,視圖不更新,等待其他元素更新后會觸發的解決辦法


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

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

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

  3. this.examineIntro.questionList[0].selList[1].url = url;

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

// 與 example1.items[0] = ... 相同,但是能觸發視圖更新

Vue.set(example1.items[0], { childMsg: 'Changed!'})

使用Vue的變異方法

pop()

push()

shift()

unshift()

revese()

sort()

splice()

也會觸發視圖更新

之前不知道前面的方式的時候我就是用先push再 pop解決的


免責聲明!

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



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