1.条件渲染
wx:if
在框架中,我们使用 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>将多个组件包装起来,并在block上使用 wx:if
<block wx:if="{{true}}"> <view> view1 </view> <view> view2 </view> </block>
注意: <block/>
并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。
wx:if vs hidden
因为 wx:if 之中的模板也可能包含数据绑定,所有当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为他会确保条件快在切换时销毁或者重新渲染。
同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次为真的时候才开始局部渲染。
相比之下 hidden 就简单的多,组件始终会被渲染,只是简单的控制显示或隐藏。
一般来说:wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的条件下,用hidden会更好,如果在运行时条件不大可能改变则使用 wx:if 会更好。
时间: 2024-10-16 00:36:44