WeChat applet pemaparan bersyarat wx:if
wx:if
Di MINA, kami menggunakan wx:if="{{condition}}"
untuk menentukan sama ada blok kod perlu diberikan: wx:if="{{condition}}"
来判断是否需要渲染该代码块:
<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
的条件值切换时,MINA有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。
同时wx:if
也是惰性的,如果在初始渲染条件为false
,MINA什么也不做,在条件第一次变成真的时候才开始局部渲染。
相比之下,hidden
就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。
一般来说,wx:if
有更高的切换消耗而hidden
有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用hidden
更好,如果在运行时条件不大可能改变则wx:if
rrreee
wx: elif
dan wx:else
untuk menambah blok else: 🎜rrreeesekat wx:if🎜🎜kerana wx:if< /code > ialah atribut kawalan yang perlu ditambahkan pada label. Tetapi jika kita ingin menilai berbilang teg komponen sekaligus, kita boleh menggunakan teg <block/>
untuk membalut berbilang komponen dan menggunakan wx:if
Control harta benda. 🎜rrreee🎜Nota: <block/>
bukan komponen, ia hanya elemen pembalut, ia tidak akan melakukan apa-apa rendering dalam halaman dan hanya menerima atribut kawalan. 🎜wx:if
vs hidden
🎜🎜Oleh kerana templat dalam wx:if
juga Mungkin mengandungi pengikatan data, jadi apabila nilai bersyarat wx:if
ditukar, MINA mempunyai proses pemaparan separa, kerana ia akan memastikan bahawa blok bersyarat dimusnahkan atau dipaparkan semula apabila bertukar. 🎜🎜Pada masa yang sama, wx:if
juga malas Jika syarat pemaparan awal adalah false
, MINA tidak akan melakukan apa-apa masa dalam keadaan Penyampaian separa bermula hanya apabila ia menjadi nyata. 🎜🎜Sebagai perbandingan, tersembunyi adalah lebih mudah Komponen akan sentiasa dipaparkan dan ia hanya mengawal paparan dan penyembunyian. 🎜🎜Secara umumnya, wx:if
mempunyai kos penukaran yang lebih tinggi dan tersembunyi
mempunyai kos pemaparan awal yang lebih tinggi. Oleh itu, jika penukaran yang kerap diperlukan, adalah lebih baik untuk menggunakan hidden
Jika keadaan tidak mungkin berubah pada masa jalan, wx:if
adalah lebih baik. 🎜
<block/>
untuk membalut berbilang komponen dan menggunakan wx:if
Control harta benda. 🎜rrreee🎜Nota: wx:if
vs hidden
🎜🎜Oleh kerana templat dalam wx:if
juga Mungkin mengandungi pengikatan data, jadi apabila nilai bersyarat wx:if
ditukar, MINA mempunyai proses pemaparan separa, kerana ia akan memastikan bahawa blok bersyarat dimusnahkan atau dipaparkan semula apabila bertukar. 🎜🎜Pada masa yang sama, wx:if
juga malas Jika syarat pemaparan awal adalah false
, MINA tidak akan melakukan apa-apa masa dalam keadaan Penyampaian separa bermula hanya apabila ia menjadi nyata. 🎜🎜Sebagai perbandingan, wx:if
mempunyai kos penukaran yang lebih tinggi dan tersembunyi
mempunyai kos pemaparan awal yang lebih tinggi. Oleh itu, jika penukaran yang kerap diperlukan, adalah lebih baik untuk menggunakan hidden
Jika keadaan tidak mungkin berubah pada masa jalan, wx:if
adalah lebih baik. 🎜