【vue】v-for 使用 Array.prototype.reverse() 的无限更新循环

javascript 复制代码
v-for="item in items.reverse()"

[Vue 警告] 组件渲染函数中可能存在无限更新循环。infinite loop update

Array.prototype.reverse 实际上修改了它应用于 的数组.

Vue 获取此更改并同时触发 v-for重新评估,触发另一个 .reverse() .这会触发 Vue 重新渲染,导致 .reverse()

要解决此问题,请使用 computed items[] 的浅拷贝上的属性(例如,使用 Array 解构 [...this.items] 作为反向列表:

javascript 复制代码
computed: {
    itemsReverse() {
      return [...items].reverse()
    }
}
相关推荐
web行路人30 分钟前
React中类组件和函数组件的理解和区别
前端·javascript·react.js·前端框架
番茄小酱00132 分钟前
Expo|ReactNative 中实现扫描二维码功能
javascript·react native·react.js
子非鱼9211 小时前
【Ajax】跨域
javascript·ajax·cors·jsonp
超雄代码狂1 小时前
ajax关于axios库的运用小案例
前端·javascript·ajax
嚣张农民1 小时前
推荐3个实用的760°全景框架
前端·vue.js·程序员
周亚鑫2 小时前
vue3 pdf base64转成文件流打开
前端·javascript·pdf
落魄小二2 小时前
el-table 表格索引不展示问题
javascript·vue.js·elementui
y5236482 小时前
Javascript监控元素样式变化
开发语言·javascript·ecmascript
fruge2 小时前
纯css制作声波扩散动画、js+css3波纹催眠动画特效、【css3动画】圆波扩散效果、雷达光波效果完整代码
javascript·css·css3
neter.asia2 小时前
vue中如何关闭eslint检测?
前端·javascript·vue.js