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 相关文章推荐
学习YUI.Ext基础第一天
Mar 10 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
May 18 Javascript
动态添加删除表格行的js实现代码
Feb 28 Javascript
php中给js数组赋值方法
Mar 10 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
jQuery+ajax简单实现文件上传的方法
Jun 03 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
微信小程序使用车牌号输入法的示例代码
Aug 20 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
配置eslint规范项目代码风格
2019/03/11 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
详解python3中socket套接字的编码问题解决
2017/07/01 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
电信营业员自我评价分享
2014/01/17 职场文书
中学运动会广播稿
2014/01/19 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python