微信小程序wx:if页面初始加载显示相反。
发布于 5 年前 作者 taogong 3305 次浏览 来自 问答

本人想制作一个商品左滑动实现商品的收藏和取消收藏,使用了vant的滑动单元格组件,使用wx:if和wx:else判断商品是否收藏了,是否收藏的数据存在data里,但是在页面第一次加载的时候“加入收藏”和”移除收藏“的显示是完全相反的,意思是从后台读到商品是收藏了的,设置为true标记,但是他显示的却是“加入收藏”,实际上要显示“移除收藏”,点击第一次按钮后,按钮内容不变,但是在js里的确是移除了收藏,这是正确的,后面的点击也都是正确的显示,但是页面加载的第一次就完全是相反的。我想知道有没有人遇到这个问题,是怎么解决的?部分代码如下:

wxml的部分实现代码:

js文件代码:

本人是个新人,wx:if难道还有什么讲究么?

3 回复

意思是从后台读到商品是收藏了的,设置为true标记,但是他显示的却是“加入收藏”

-----if条件里为true显示加入收藏很正确啊

true等于显示,false等于不显示

找到问题所在了,这个是本人的问题,没有加async await,所以这个是先执行完了setData后面才执行的request,所以setData赋值是给的上一次的值,所以显示错误了,写了那么久的代码竟然忘了最基础的浏览器机制问题,看来还是得要多写,多练

回到顶部