这样的需求想必所有应用都有:
进入界面后,当列表无数据,显示暂无数据占位图,有数据则隐藏占位图显示列表数据。
遇到这样的需求,想当然的使用wx;if/else来做,所以我刚开始是这么做的:

那么现实给了我一盆冷水:

后面我尝试单独保留if去掉else,那么结果是可运行的:

我发现只要加上else 就会报错,所以后来尝试给if多嵌套一层:

结果这样是可以运行的!所以我隐约推断:循环列表的view其实相当于多个view,没有else时if是相当于每一个子view的判断,而加上了else则相当于多个if对应一个else(多对一关系),所以遇到这种情况时,要在循环列表外层多嵌套一个view来用作判断才能保证1对1的正确语法。
本人为刚接触小程序的小白,以上结论为个人推断,如有错误欢迎指正!
网友评论