## 一、wx:if
在框架中,使用`wx:if=""`來判斷是否需要渲染該代碼塊:
~~~
<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/>`標簽將多個組件包裝起來,并在上邊使用`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`較好。