三分鐘帶你快速學(xué)會微信小程序的條件渲染
前言
這篇文章是三分鐘學(xué)會小程序的條件渲染教程,所謂的條件渲染就是判斷是否需要把代碼渲染到展示頁面上。使用以下三種方式可以實現(xiàn)條件渲染,各自有不同的應(yīng)用場景,只有熟練掌握其用法,在使用時才能得心應(yīng)手。
1.wx:if實現(xiàn)條件渲染
在框架中,使用 wx:if=""
來判斷是否需要渲染該代碼塊:
<view wx:if="{{condition}}">True<view>
如果condition
的值為true,就會在頁面上渲染出view組件,否則將不會顯示該組件。同時還可以結(jié)合wx:elif
和wx:else
來使用,此時可以進(jìn)行多條件的判斷是否渲染該代碼。
<view wx:if="{{type===1}}">組件1</view> <view wx:elif="{{type===2}}">組件2</view> <view wx:else>組件3</view>
下面做一個演示:在js
文件的data中定義一個type,同時在wxml
文件中定義三個view組件,根據(jù)type的值來決定是否渲染view組件。
此時,改變type的值就可以改變頁面渲染的內(nèi)容。
2.block結(jié)合wx:if使用
因為 wx:if
是一個控制屬性,需要將它添加到一個標(biāo)簽上。如果要一次性判斷多個組件標(biāo)簽,可以使用一個 <block/>
標(biāo)簽將多個組件包裝起來,并在上邊使用 wx:if
控制屬性。
<block wx:if="{{true}}"> <view> view1 </view> <view> view2 </view> </block>
注意:不是一個組件,只是一個包裹性的容器,不會在頁面上做任何渲染。
下面做一個演示:在<block>
中包裹兩個view
組件,使用wx:if
來決定是否需要渲染這兩個組件。
此時在頁面上渲染了兩個view
組件,block
作為包裹性的容器并沒有被渲染。
3.hiden實現(xiàn)條件渲染
在框架中,使用 hidden=""
來控制組件的顯示與隱藏。與前面不同的是,hidden組件始終會被渲染,只是簡單的控制顯示與隱藏。
<view hidden="{{false}}">當(dāng)條件為true時則會隱藏該元素</view>
下面做一個演示:在js
文件中定義一個flag,在wxml
文件中使用hidden
隱藏view組件。
可以在AppData
中改變flag的值從而控制是否隱藏該view組件。
4. wx:if vs hidden
因為 wx:if
之中的模板也可能包含數(shù)據(jù)綁定,所以當(dāng) wx:if
的條件值切換時,框架有一個局部渲染的過程,因為它會確保條件塊在切換時銷毀或重新渲染。
同時 wx:if
也是惰性的,如果在初始渲染條件為 false,框架什么也不做,在條件第一次變成真的時候才開始局部渲染。
相比之下,hidden
就簡單的多,組件始終會被渲染,只是簡單的控制顯示與隱藏。
一般來說,wx:if
有更高的切換消耗而 hidden
有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden
更好,如果在運行時條件不大可能改變則 wx:if
較好。
所以在使用條件渲染時,要根據(jù)不同的應(yīng)用場景來選擇!只有熟練的掌握,才能在小程序開發(fā)中提高效率。
補充:hidden 和 wx:if 的區(qū)別
- 被 wx:if 控制的區(qū)域,框架有一個局部渲染的過程,會根據(jù)控制條件的改變,動態(tài)創(chuàng)建或銷毀對應(yīng)的 UI結(jié)構(gòu)。類似Vue中的v-if
- wx:if 是惰性的,如果在初始渲染條件為 false,框架什么也不做,在條件第一次變成真的時候才開始局部渲染。
- 相比之下,hidden 就簡單的多,組件始終會被渲染,只是簡單的控制顯示與隱藏。類似Vue中的v-show
- 總結(jié):wx:if 有更高的切換消耗而 hidden 有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden 更好,如果在運行時條件不大可能改變則 wx:if 較好。
總結(jié)
到此這篇關(guān)于微信小程序條件渲染的文章就介紹到這了,更多相關(guān)微信小程序條件渲染內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Js 利用正則表達(dá)式和replace函數(shù)獲取string中所有被匹配到的文本(推薦)
這篇文章主要介紹了Js 利用正則表達(dá)式和replace函數(shù)獲取string中所有被匹配到的文本,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-10-10JavaScript實現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法
這篇文章主要介紹了JavaScript實現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法,涉及JavaScript編碼轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下2016-01-01帶領(lǐng)大家學(xué)習(xí)javascript基礎(chǔ)篇(一)之基本概念
這篇文章主要介紹了帶領(lǐng)大家學(xué)習(xí)javascript基礎(chǔ)篇(一)之基本概念的相關(guān)資料,需要的朋友可以參考下2015-11-11