十分鐘搞定小程式的條件渲染

2022-11-16 18:02:24
本篇文章給大家帶來了關於的相關知識,其中主要介紹了關於條件渲染的相關內容,所謂條件渲染就是判斷是否要把程式碼渲染到展示頁面上,下面一起來看一下,希望對大家有幫助。

zion無程式碼雲ide,帶你快速實現小程式開發立即使用

【相關學習推薦:】

1.wx:if實現條件渲染

在框架中,使用 wx:if="" 來判斷是否需要渲染該程式碼塊:

<view wx:if="{{condition}}">True<view>
登入後複製

如果condition的值為true,就會在頁面上渲染出view元件,否則將不會顯示該元件。同時還可以結合wx:elifwx: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的值就可以改變頁面渲染的內容。

2.block結合wx:if使用

因為 wx:if 是一個控制屬性,需要將它新增到一個標籤上。如果要一次性判斷多個元件標籤,可以使用一個 <block/> 標籤將多個元件包裝起來,並在上邊使用 wx:if 控制屬性。

<block wx:if="{{true}}">
  <view> view1 </view>
  <view> view2 </view></block>
登入後複製

注意:不是一個元件,只是一個包裹性的容器,不會在頁面上做任何渲染。

下面做一個演示:在<block>中包裹兩個view元件,使用wx:if來決定是否需要渲染這兩個元件。
在這裡插入圖片描述
在這裡插入圖片描述
此時在頁面上渲染了兩個view元件,block作為包裹性的容器並沒有被渲染。

3.hiden實現條件渲染

在框架中,使用 hidden="" 來控制元件的顯示與隱藏。與前面不同的是,hidden元件始終會被渲染,只是簡單的控制顯示與隱藏。

<view hidden="{{false}}">當條件為true時則會隱藏該元素</view>
登入後複製

下面做一個演示:在js檔案中定義一個flag,在wxml檔案中使用hidden隱藏view元件。
在這裡插入圖片描述
在這裡插入圖片描述
可以在AppData中改變flag的值從而控制是否隱藏該view元件。

4. wx:if vs hidden

因為 wx:if 之中的模板也可能包含資料繫結,所以當 wx:if 的條件值切換時,框架有一個區域性渲染的過程,因為它會確保條件塊在切換時銷燬或重新渲染。

同時 wx:if 也是惰性的,如果在初始渲染條件為 false,框架什麼也不做,在條件第一次變成真的時候才開始區域性渲染。

相比之下,hidden 就簡單的多,元件始終會被渲染,只是簡單的控制顯示與隱藏。

一般來說,wx:if 有更高的切換消耗而 hidden 有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden 更好,如果在執行時條件不大可能改變則 wx:if 較好。

【相關學習推薦:】

以上就是十分鐘搞定小程式的條件渲染的詳細內容,更多請關注TW511.COM其它相關文章!