今天在使用 Vue 开发过程中,前台控制台报了一个警告,经过一番百度,最终解决了问题,过程如下。
//控制台报错信息
vue.runtime.esm.js?2b0e:619 [Vue warn]: You may have an infinite update loop in watcher with expression "value"
控制台信息
-
控制台警告错误如图:
原因
-
报错是因为我要给 v-for 里边的一个数组类型的 item 排序,如果是普通的绑定,用计算属性是搞定的。然而,这个牵扯到传参,计算属性用起来就不那么省心了,只能乖乖写个方法。虽然正常渲染,但是报错了:
经过一番百度,在vue issue 里边找到了尤大神的回复,不能直接用 sort() 函数进行排序。
解决方案
- 第一种:使用后台进行排序,前端只负责接收,展示。
- 第二种:将排序变量放入方法内,定义在局部变量里。
问题解决。
欢迎微信搜索【Java猿记】,关注回复【面试】获取免费面试资料。