微信小程序條件渲染,用wx:if="{{condition}}"來判斷是否需要渲染該代碼塊
wx:if
在框架中,我們用wx:if="{{condition}}"
來判斷是否需要渲染該代碼塊:
<view wx:if="{{condition}}"> True </view>
也可以用wx:elif
和wx:else
來添加一個(gè)else塊:
<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>
block wx:if
因?yàn)?code>wx:if是一個(gè)控制屬性,需要將它添加到一個(gè)標(biāo)簽上。但是如果我們想一次性判斷多個(gè)組件標(biāo)簽,我們可以使用一個(gè)<block/>
標(biāo)簽將多個(gè)組件包裝起來,并在上邊使用wx:if
控制屬性。
<block wx:if="{{true}}">
<view> view1 </view>
<view> view2 </view>
</block>
注意:<block/>
并不是一個(gè)組件,它僅僅是一個(gè)包裝元素,不會(huì)在頁面中做任何渲染,只接受控制屬性。
wx:if
vshidden
因?yàn)?code>wx:if之中的模板也可能包含數(shù)據(jù)綁定,所以當(dāng)wx:if
的條件值切換時(shí),框架有一個(gè)局部渲染的過程,因?yàn)樗鼤?huì)確保條件塊在切換時(shí)銷毀或重新渲染。
同時(shí)wx:if
也是惰性的,如果在初始渲染條件為false
,框架什么也不做,在條件第一次變成真的時(shí)候才開始局部渲染。
相比之下,hidden
就簡(jiǎn)單的多,組件始終會(huì)被渲染,只是簡(jiǎn)單的控制顯示與隱藏。
一般來說,wx:if
有更高的切換消耗而hidden
有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用hidden
更好,如果在運(yùn)行時(shí)條件不大可能改變則wx:if
較好。
第二部分:如何開通一個(gè)小商店