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