收藏
回答

wx:if渲染出来的模块延迟很大

问题模块
API和组件

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了。



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

谢谢。

最后一次编辑于  2017-05-24  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

3 个回答

  • maq
    maq
    2017-05-25

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


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


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


    另外,你用 setData() 了吗?

    2017-05-25
    赞同
    回复
  • 彭
    2017-05-26

    您好:

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

    2017-05-26
    赞同
    回复
  • maq
    maq
    2017-05-26

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


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


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

    2017-05-26
    赞同
    回复