wx:if渲染出来的模块延迟很大
发布于 6 年前 作者 uhuang 18272 次浏览 来自 问答

wxml里有一个资料认证模块。用户没提交认证之前,wx:if参数是1,用户提交认证之后,wx:if参数变成2。1则显示A模块,2则显示B模块。

由于我们用的是一个baas服务,参数是先传到后台再传到page里的,所以我现在不太确定这是我后台的问题还是前台的问题。

当用户提交后,通过console.log发现wx:if的参数已经变成2了,但显示的还是A模块,通常需要用户等待1、2个小时后,或者清空缓存之类的,然后再进入,才变成显示B模块,说白了,延迟太严重。但是我console.log出来的明明参数已经变成2了。

请教一下这是什么问题,我应该怎么解决?

谢谢。

3 回复

如果正确使用了 setData(),结果必然是当时就会导致重新渲染。退一步讲,就算小程序引擎有 BUG 导致渲染故障,也不可能是延迟了一、两个小时之后又渲染成功了。

一、两个小时的延迟,感觉像是等到小程序被挤出内存后,下次打开时重新抓数据、重新渲染的结果。

所以,建议你还是在检查自己程序代码上多下点功夫,不行就贴出来让大家一起帮你看看。

虽然没看到代码,但几乎可以肯定是程序逻辑的问题。

1、2个小时,这肯定不是“延迟”的问题了,呵呵

先确认一下,console.log 出来的东西,跟 wx:if 用的东西,是同一个东西吗?

另外,你用 setData() 了吗?

您好:

两个是一个参数,用了setData。

回到顶部