
因为 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解决的