zion無程式碼雲ide,帶你快速實現小程式開發立即使用
【相關學習推薦:】
在框架中,使用 wx:if=""
來判斷是否需要渲染該程式碼塊:
<view wx:if="{{condition}}">True<view>
登入後複製
如果condition
的值為true,就會在頁面上渲染出view元件,否則將不會顯示該元件。同時還可以結合wx:elif
和wx:else
來使用,此時可以進行多條件的判斷是否渲染該程式碼。
<view wx:if="{{type===1}}">元件1</view><view wx:elif="{{type===2}}">元件2</view><view wx:else>元件3</view>
登入後複製
下面做一個演示:在
js
檔案的data中定義一個type,同時在wxml
檔案中定義三個view元件,根據type的值來決定是否渲染view元件。
此時,改變type的值就可以改變頁面渲染的內容。
因為 wx:if
是一個控制屬性,需要將它新增到一個標籤上。如果要一次性判斷多個元件標籤,可以使用一個 <block/>
標籤將多個元件包裝起來,並在上邊使用 wx:if
控制屬性。
<block wx:if="{{true}}">
<view> view1 </view>
<view> view2 </view></block>
登入後複製
注意:不是一個元件,只是一個包裹性的容器,不會在頁面上做任何渲染。
下面做一個演示:在
<block>
中包裹兩個view
元件,使用wx:if
來決定是否需要渲染這兩個元件。
此時在頁面上渲染了兩個view
元件,block
作為包裹性的容器並沒有被渲染。
在框架中,使用 hidden=""
來控制元件的顯示與隱藏。與前面不同的是,hidden元件始終會被渲染,只是簡單的控制顯示與隱藏。
<view hidden="{{false}}">當條件為true時則會隱藏該元素</view>
登入後複製
下面做一個演示:在
js
檔案中定義一個flag,在wxml
檔案中使用hidden
隱藏view元件。
可以在AppData
中改變flag的值從而控制是否隱藏該view元件。
因為 wx:if
之中的模板也可能包含資料繫結,所以當 wx:if
的條件值切換時,框架有一個區域性渲染的過程,因為它會確保條件塊在切換時銷燬或重新渲染。
同時 wx:if
也是惰性的,如果在初始渲染條件為 false,框架什麼也不做,在條件第一次變成真的時候才開始區域性渲染。
相比之下,hidden
就簡單的多,元件始終會被渲染,只是簡單的控制顯示與隱藏。
一般來說,wx:if
有更高的切換消耗而 hidden
有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden
更好,如果在執行時條件不大可能改變則 wx:if
較好。
【相關學習推薦:】
以上就是十分鐘搞定小程式的條件渲染的詳細內容,更多請關注TW511.COM其它相關文章!