vue 重塑数组之修改数组指定index的值操作


Posted in Javascript onAugust 09, 2020

如下所示:

vm.items[indexOfItem] = newValue

vue不能检测数组的变动

想要实现可以使用vue的set方法

this.$set(this.items,indexOfItem,newValue);

补充知识:vue中利用索引直接设置一个数组项,不能触发视图更新的问题

由于 JavaScript 的限制,Vue 不能检测以下数组的变动:

1、当你利用索引直接设置一个数组项时,例如:vm.items[indexOfItem] = newValue

2、当你修改数组的长度时,例如:vm.items.length = newLength

举个例子:

var vm = new Vue({
 data: {
  items: ['a', 'b', 'c']
 }
})
vm.items[1] = 'x' // 不是响应性的
vm.items.length = 2 // 不是响应性的

为了解决第一类问题,以下两种方式都可以实现和 vm.items[indexOfItem] = newValue 相同的效果,同时也将在响应式系统内触发状态更新:

// Vue.set

Vue.set(vm.items, indexOfItem, newValue)

// Array.prototype.splice

vm.items.splice(indexOfItem, 1, newValue)

你也可以使用 vm.$set 实例方法,该方法是全局方法 Vue.set 的一个别名:

vm.$set(vm.items, indexOfItem, newValue)

为了解决第二类问题,你可以使用 splice:

vm.items.splice(newLength)

以上这篇vue 重塑数组之修改数组指定index的值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 汉字字节判断
Aug 01 Javascript
js Date自定义函数 延迟脚本执行
Mar 10 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 Javascript
JS判断两个时间大小的示例代码
Jan 28 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
Jan 01 Javascript
vue2.0 自定义日期时间过滤器
Jun 07 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
Aug 14 Javascript
react配合antd组件实现的管理系统示例代码
Apr 24 Javascript
如何在微信小程序中使用骨架屏的步骤
Jun 12 Javascript
js实现QQ邮箱邮件拖拽删除功能
Aug 27 Javascript
JavaScript setTimeout()基本用法有哪些
Nov 04 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
Aug 09 #Javascript
bootstrap实现tab选项卡切换
Aug 09 #Javascript
vue动画—通过钩子函数实现半场动画操作
Aug 09 #Javascript
js利用iframe实现选项卡效果
Aug 09 #Javascript
解决vue 退出动画无效的问题
Aug 09 #Javascript
在vue中使用console.log无效的解决
Aug 09 #Javascript
VUE中V-IF条件判断改变元素的样式操作
Aug 09 #Javascript
You might like
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
php生成xml简单实例代码
2009/12/16 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
js tab效果的实现代码
2009/12/26 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
《美丽的黄昏》教学反思
2014/02/28 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
保密工作目标责任书
2014/07/28 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
党的群众路线调研报告
2014/11/03 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
停水通知
2015/04/16 职场文书
关于迟到的检讨书
2015/05/06 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
亲情作文之母爱
2019/09/25 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
go语言中http超时引发的事故解决
2021/06/02 Golang