因為 JavaScript 的限制,Vue.js 不能檢測到下面數組變化:
-
直接用索引設置元素,如 vm.items[0] = {};
-
修改數據的長度,如 vm.items.length = 0。
- 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解決的