因為 JavaScript 的限制,Vue.js 不能檢測到下面數組變化:
-
直接用索引設置元素,如 vm.items[0] = {};
-
修改數據的長度,如 vm.items.length = 0。
為了解決問題 (1),Vue.js 擴展了觀察數組,為它添加了一個 $set() 方法:
// 與 example1.items[0] = ...
相同,但是能觸發視圖更新
example1.items.$set(0, { childMsg: 'Changed!'})
或者使用vue變異方法: