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 相关文章推荐
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
JavaScript入门教程(11) js事件处理
Jan 31 Javascript
让网页根据不同IE版本显示不同的内容
Feb 08 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
May 15 Javascript
js 判断文件类型并控制表单提交示例代码
Nov 14 Javascript
学习使用bootstrap3栅格系统
Apr 12 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
js实现图片轮播效果学习笔记
Jul 26 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
CocosCreator入门教程之网络通信
Apr 16 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
php学习之运算符相关概念
2011/06/09 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
更新修改后的Python模块方法
2019/03/03 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
Python画图高斯分布的示例
2019/07/10 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
局域网定义和特性
2016/01/23 面试题
介绍一下gcc特性
2015/10/31 面试题
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
餐饮收银员岗位职责
2014/02/07 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
新年爱情寄语
2014/04/08 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
银行求职自荐书
2014/06/25 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
写给父母的感谢信
2015/01/22 职场文书
信访工作个人总结
2015/03/03 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技
处理canvas绘制图片模糊问题
2022/05/11 Javascript
js 实现验证码输入框示例详解
2022/09/23 Javascript