vue计算属性时v-for处理数组时遇到的一个bug问题


Posted in Javascript onJanuary 21, 2018

问题

bug: You may have an infinite update loop in a component render function 无限循环

1.需要处理的数组(在 ** ssq **里):

bonus_code: ['01', '19', '25', '26', '27', '33', '10']

2.计算属性 computed:

ssqRed: function() {
return this.ssq.bonus_code.splice(0, 6)
},
ssqBlue: function() {
return this.ssq.bonus_code.splice(6, 7)
}

3.v-for 代码:

<em class="red-ball tac mr5 fl" v-for="(item, index) in ssqRed">{{ item }}</em>
<em class="blue-ball tac mr5 fl" v-for="(item, index) in ssqBlue">{{ item }}</em>

4.最终结果我想把数组前6个数渲染成红色球,最后一个(也就是第7个)渲染成蓝色。

解答

我已经在 SegmentFault上提问,地址:vue计算属性computed同时操作一个数组

我已采纳答案,将代码改成:

ssqRed: function() {
 return this.ssq.bonus_code.slice(0, 6)
},
ssqBlue: function() {
 return this.ssq.bonus_code.slice(6, 7)
}

问题就在于自己没搞清楚 splice会对原数组造成改变。

在寻找解决方案时,朋友少晖教给我一种更好的解决方式,很感谢

即类名判断

1.如果数组大小已知,就做一个类名判断,索引大于多少展示蓝色的类名就行了;

2.处理后的 html代码:

<em v-for="(item, index) in ssq.bonus_code" :class="['tac','mr5','fl',index>5?'blue-ball':'red-ball']" >{{ item }}</em>

3.增加的代码:

index>5?'blue-ball':'red-ball'

总结

以上所述是小编给大家介绍的vue计算属性时v-for处理数组时遇到的一个bug问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JS控制表格隔行变色
Jun 26 Javascript
用js实现随机返回数组的一个元素
Aug 13 Javascript
JavaScript开发规范要求(规范化代码)
Aug 16 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
JS之Date对象和获取系统当前时间详解
Jan 13 Javascript
window.open 以post方式传递参数示例代码
Feb 27 Javascript
简单的js图片轮换代码(js图片轮播)
May 06 Javascript
js实现进度条的方法
Feb 13 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
javascript+css3开发打气球小游戏完整代码
Nov 28 Javascript
解决vue中修改了数据但视图无法更新的情况
Aug 27 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
Angular17之Angular自定义指令详解
Jan 21 #Javascript
laravel5.3 vue 实现收藏夹功能实例详解
Jan 21 #Javascript
详解node.js中的npm和webpack配置方法
Jan 21 #Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 #jQuery
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
Jan 20 #Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
Jan 20 #Javascript
浅谈vue引入css,less遇到的坑和解决方法
Jan 20 #Javascript
You might like
融入意大利的咖啡文化
2021/03/03 咖啡文化
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
jquery 插件学习(三)
2012/08/06 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
JS中的phototype详解
2017/02/04 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
Python使用python-docx读写word文档
2019/08/26 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
会计学应届毕业生推荐信
2013/11/04 职场文书
查摆问题整改措施
2014/10/24 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
专家推荐信范文
2015/03/26 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
执行力心得体会范文
2016/01/11 职场文书
导游词之山东孔庙
2019/11/04 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL