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一组验证函数
Dec 20 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
jquery可见性过滤选择器使用示例
Jun 24 Javascript
Javascript常用字符串判断函数代码分享
Dec 08 Javascript
jQuery实现分隔条左右拖动功能
Nov 21 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
Sep 24 Javascript
js实现非常棒的弹出div
Oct 06 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
React通过父组件传递类名给子组件的实现方法
Nov 13 Javascript
通过vue手动封装on、emit、off的代码详解
May 29 Javascript
浅谈vuex的基本用法和mapaction传值问题
Nov 08 Javascript
uniapp微信小程序:key失效的解决方法
Jan 20 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 咖啡文化
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
十个Python程序员易犯的错误
2015/12/15 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
对python中的logger模块全面讲解
2018/04/28 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
Python文件读写常见用法总结
2019/02/22 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
Python list运算操作代码实例解析
2020/01/20 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
综合办公室主任职责
2013/12/16 职场文书
学生自我评价范文
2014/02/02 职场文书
信息专业学生学习的自我评价
2014/02/17 职场文书
一句话工作感言
2014/03/01 职场文书
双创工作实施方案
2014/03/26 职场文书
梅花魂教学反思
2014/04/25 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python