记录bug及相关处理方案(一)

it2025-07-19  8

最近,往uni-app上移植的一个vue项目中,遇到了些许问题,特此记录

bug1

前因

在created中异步请求了一个数组对象,通过列表渲染渲染到页面上在mounted中计算重新渲染的DOM元素的属性,发现一直有些许偏差

分析

查阅了不少资料后得出结论,因为请求数据是一个异步操作,而渲染页面和计算属性是同步操作,所以就导致,计算属性发生在了异步请求数据后的渲染页面之前,导致产生bug

解决

一直都不太想使用定时器进行变相的异步,所以就修改mounted成updated,希望能在页面重新渲染的时候来操作相关方法,结果是可行的

bug2

由于bug1的不成熟方案导致了bug2的产生

前因

在computed中加载updated里所计算出的属性时,一直导致computed触发至死循环

分析

询问大佬得知,由于updated是数据改动就触发,不适合写逻辑

解决

直接删除updated,使用watch来监听数据变化,可是还是出现bug1的情况,所以还是只能添加定时器来等待页面重新渲染结束 暂时未发现除了定时器之外等待页面重新渲染的方法,如有以后发现,再来记录

最新回复(0)