首页 > 代码库 > 小程序基础11:条件渲染

小程序基础11:条件渲染

1.条件渲染

wx:if

在框架中,我们使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块

<view wx:if="{{condition}}"> True </view>

也可以用 wx:elif 和 wx:else 来添加一个 else 块

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

block wx:if

因为 wx:if 是一个控制属性,需要将他添加到一个标签上。如果我们想一次性判断多个组件标签,我们可以使用一个</block>将多个组件包装起来,并在block上使用 wx:if

<block wx:if="{{true}}">
  <view> view1 </view>
  <view> view2 </view>
</block>

注意: <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

wx:if vs hidden

因为 wx:if 之中的模板也可能包含数据绑定,所有当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为他会确保条件快在切换时销毁或者重新渲染。

同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次为真的时候才开始局部渲染。

相比之下 hidden 就简单的多,组件始终会被渲染,只是简单的控制显示或隐藏。

一般来说:wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的条件下,用hidden会更好,如果在运行时条件不大可能改变则使用 wx:if 会更好。

 

小程序基础11:条件渲染