Rendu conditionnel de l'applet WeChat wx:if
wx:if
Dans MINA, nous utilisons wx:if="{{condition}}"
pour déterminer si le bloc de code doit être rendu : 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
et wx:else
pour ajouter un bloc else : 🎜rrreeebloquer wx:if🎜🎜car wx:if< /code > est un attribut de contrôle qui doit être ajouté à une étiquette. Mais si nous voulons juger plusieurs balises de composants à la fois, nous pouvons utiliser une balise <block/>
pour envelopper plusieurs composants, et utiliser wx:if
Control propriétés. 🎜rrreee🎜Remarque : <block/>
n'est pas un composant, c'est juste un élément d'habillage, il ne fera aucun rendu dans la page et n'accepte que attributs de contrôle. 🎜wx:if
vs hidden
🎜🎜Parce que le modèle dans wx:if
est également Peut contenir une liaison de données, donc lorsque la valeur conditionnelle de wx:if
est commutée, MINA a un processus de rendu partiel, car il garantira que le bloc conditionnel est détruit ou restitué lors du changement. 🎜🎜En même temps, wx:if
est également paresseux Si la condition de rendu initiale est false
, MINA ne fera rien. le temps dans la condition Le rendu partiel ne démarre que lorsqu'il devient réel. 🎜🎜En comparaison, hidden
est beaucoup plus simple. Le composant sera toujours rendu, et il contrôle simplement l'affichage et le masquage. 🎜🎜De manière générale, wx:if
a un coût de commutation plus élevé et hidden
a un coût de rendu initial plus élevé. Par conséquent, si des changements fréquents sont nécessaires, il est préférable d'utiliser hidden
. S'il est peu probable que les conditions changent au moment de l'exécution, wx:if
est préférable. 🎜
<block/>
pour envelopper plusieurs composants, et utiliser wx:if
Control propriétés. 🎜rrreee🎜Remarque : <block/>
n'est pas un composant, c'est juste un élément d'habillage, il ne fera aucun rendu dans la page et n'accepte que attributs de contrôle. 🎜