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

posted @ 2017-04-11 11:04  幽竹小妖  阅读(7239)  评论(0编辑  收藏  举报