今天遇到这样一个问题。
错误代码:
<view class="wrap">
<view wx:if="{
{bagesList.length > 0}}" class="warp-list" wx:for="{
{bagesList}}" wx:key="id">
<view bindtap="goDetail" data-id="{
{item.id}}">
<view class="Img">
<image src="{
{item.image}}"></image>
</view>
<view class="desc">{
{
item.storeName}}</view>
<view class="price">
<text class="pri">¥{
{
item.price}}</text>
</view>
</view>
</view>
<view class="noBox" wx:else>
<image src="../../images/bg_no01.png" mode="widthFix"></image>
</view>
</view>
报错:
解析:
这个是逻辑问题,循环列表比 if 优先级高,所以两个写在同一个标签上,逻辑就成了
for(){
if(){
}
}
else{
}
而w:else不属于要解析的标签逻辑, 也就不报错了
解决办法:
wx:for 和 wx:if 分成两层处理
<view class="wrap">
<view wx:if="{
{bagesList.length > 0}}">
<view class="warp-list" wx:for="{
{bagesList}}" wx:key="id">
<view bindtap="goDetail" data-id="{
{item.id}}">
<view class="Img">
<image src="{
{item.image}}"></image>
</view>
<view class="desc">{
{
item.storeName}}</view>
<view class="price">
<text class="pri">¥{
{
item.price}}</text>
</view>
</view>
</view>
</view>
<view class="noBox" wx:else>
<image src="../../images/bg_no01.png" mode="widthFix"></image>
</view>
</view>