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:elifwx: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:ifrrreee

Vous pouvez également utiliser wx: elif et wx:else pour ajouter un bloc else : 🎜rrreee

bloquer 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:ifControl 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. 🎜