博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue update loop 的问题
阅读量:4963 次
发布时间:2019-06-12

本文共 666 字,大约阅读时间需要 2 分钟。

Vue 在进行日期排序的时候在 methods 中会报错。

我在循环的时候用了v-for 来循环组件

methods 方法中来处理这个sortData 主要是对列表里的日期做排序 然后让列表根据时间先后来渲染

methods: {            test(zhaocaiData){                return zhaocaiData.sort((a,b)=>{                    let timeA = a.time                    let timeB = b.time                    return new Date(timeB) - new Date(timeA);                })            },       }

这样子处理之后前端渲染没问题,但是在console 控制台中出现了 vue warm 报警

940210-20180831125354438-2015669990.png

经过审查和网上查资料发现有以下说法:

  1. 如果用方法或者计算属性对 vm.$data 的属性进行操作,理论上可能因为修改到循环对象,诱发无限循环
  2. 如果筛选或排序会 更改原值。那么就会进行无限循环

我的问题属于第二种,因为用sort数组进行排序会更改源数组, 但是筛选的方法比如 filter/some 就不会产生这种情况

940210-20180831125418388-1154046170.png

940210-20180831125427595-862414039.png

解决方案:这种方法放在 计算属性中处理,避免vm.$data 的深层嵌套

转载于:https://www.cnblogs.com/qujun/p/9565223.html

你可能感兴趣的文章
Cstyle的UEFI导读:第20.0篇 IGD OpRegion interface && IGD OpRegion PROTOCOL
查看>>
九宫重排
查看>>
Cocos2d-x v3.0 正式版 如何创建一个项目,TestCpp执行
查看>>
CareerCup Chapter 4 Trees and Graphs
查看>>
项目中登陆页面的显示
查看>>
布局学习笔记
查看>>
JZOJ 1782. Travel
查看>>
Office檔案格式(Office文件格式)
查看>>
Windows XP注册表与驱动程序优化全集
查看>>
Python3中关于下划线变量和命名的总结
查看>>
HiBench成长笔记——(5) HiBench-Spark-SQL-Scan源码分析
查看>>
HTML <fieldset> 标签
查看>>
comparable的compareTo( )方法 日常
查看>>
MySQL8身份验证问题解决
查看>>
zepto和jquery的区别,zepto的不同使用8条小结 会JS就会zepto
查看>>
Linux网络相关查询脚本
查看>>
PCA数据降维详解
查看>>
GOPATH
查看>>
SonarQube代码质量管理平台介绍与搭建
查看>>
IAR EWAR 内联汇编 调用外部函数 Error[Og005], Error[Og006]
查看>>