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 相关文章推荐
基于jquery实现的服务器验证控件的启用和禁用代码
Apr 27 Javascript
jquery中输入验证中一个不错的效果
Aug 21 Javascript
载入jQuery库的最佳方法详细说明及实现代码
Dec 28 Javascript
关于jQuery object and DOM element
Apr 15 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
Aug 14 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
js实现照片墙功能实例
Feb 05 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
Apr 15 Javascript
微信小程序开发之入门实例教程篇
Mar 07 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
Dec 19 Javascript
浅谈Angular单元测试总结
Mar 22 Javascript
vue动态注册组件实例代码详解
May 30 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中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
详解如何构建Angular项目目录结构
2017/07/13 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
Python使用django获取用户IP地址的方法
2015/05/11 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python学习思维导图(必看篇)
2017/06/26 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
python 公共方法汇总解析
2019/09/16 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
python re模块和正则表达式
2021/03/24 Python
学习十八大演讲稿
2014/09/15 职场文书
律师授权委托书范本
2014/10/07 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
国博复兴之路观后感
2015/06/02 职场文书
分享Python获取本机IP地址的几种方法
2022/03/17 Python
搭建Yolov5服务器
2022/04/30 Servers
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android