微信小程序渲染问题

做了一个收藏功能,如果用户收藏了内容,就渲染收藏列表,没有收藏就渲染图片

    <view class="strategy" wx:if='{{strategy.length>0}}'>
        <view class="strategy_list">
            <block wx:for="{{strategy}}" wx:key='_id'>
                <StrategyList strategy="{{item}}"></StrategyList>
            </block>
        </view>
    </view>
    <view class="no_str" wx:else>
        <image class="nostr_img" src="../../images/no.png">
        </image>
    </view>

但是有点问题,见视频
原本的逻辑是 没有请求到数据 就渲染那种图片 ,但是现在有数据,图片还是会闪一秒
https://www.bilibili.com/vide...
大佬们 有什么好的解决方法?

阅读 1.6k
2 个回答

增加一种状态就行了
0 发送请求前
1 发送请求后,获得了列表
2 发送请求后,数据为空

现在只有 2 去显示你那图片就行了,你现在是把 0 的情况也覆盖掉了,当然会这么表现了

这不是渲染问题,这个是逻辑问题

列表与空状态目前是 ifelse

所以当数据没加载回来之前,strategy.length肯定是空的,此时必然显示空状态

所以空状态需要判断当前如果是加在完毕状态且数组为空才显示

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进