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 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
Nov 02 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
Oct 17 Javascript
jQuery+ajax简单实现文件上传的方法
Jun 03 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
浅谈webpack对样式的处理
Jan 05 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
如何从0开始用node写一个自己的命令行程序
Dec 29 Javascript
javascrit中undefined和null的区别详解
Apr 07 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 07 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音乐采集(部分代码)
2007/02/14 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
jquery 插件开发备注
2010/08/27 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
python查看模块,对象的函数方法
2018/10/16 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
初任培训自我鉴定
2013/10/07 职场文书
生产部统计员岗位职责
2014/01/05 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
2015年考研复习计划
2015/01/19 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
教师节祝酒词
2015/08/11 职场文书
javaScript Array api梳理
2021/03/31 Javascript
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技