1. 问题分析
由于Vue并没有给每个元素的下标属性添加监视,Vue 不能检测到直接通过下标设置新的元素值。也就是执行vm.items[indexOfItem] = newValue时,Vue检测不到变化,界面就无法更新。
2. 解决办法一:
1). 使用数组的splice方法 (比较方便易懂, 推荐使用)
2). 原理: Vue重写了数组一系列更新元素的方法, 在更新元素后就会去更新界面
// 此时执行的就不是数组原生的splice, 而是Vue重写后的
vm.items.splice(indexOfItem, 1, newValue)
3. 解决办法二:
1). 使用Vue.set()或vm.$set()
2). 原理:方法内部设置好元素数据后,就会去更新界面
Vue.set(vm.items, indexOfItem, newValue)
vm.$set(vm.items, indexOfItem, newValue)
想要了解跟多关于前端培训课程内容欢迎关注尚硅谷前端培训,尚硅谷除了这些技术文章外还有免费的高质量前端培训课程视频供广大学员下载学习
上一篇: java培训技术SpringMVC 确定目标方法 POJO 类型入参的过程
下一篇: 大数据培训技术集群节点