a:if
在框架中,使用a:if=”{{condition}}”来判断是否需要渲染该代码块。
<view a:if="{{condition}}"> True </view>
也可以使用a:elif和a:else添加一个else块。
<view a:if="{{length > 5}}"> 1 </view>
<view a:elif="{{length > 2}}"> 2 </view>
<view a:else> 3 </view>
block a:if
因为a:if是控制属性,需要在标签中使用。如果要一次性判断多个组件标签,可以使用
<block a:if="{{true}}">
<view> view1 </view>
<view> view2 </view>
</block>
说明:
对比 a:if 与 hidden
- a:if中的模板可能包含数据绑定,所以当a:if的条件值切换时,框架有局部渲染的过程,用于确保条件块在切换时销毁或重新渲染。此外,a:if在初始渲染条件为 false 时,不触发任何渲染动作,当条件第一次变成 true 时才开始局部渲染。
- hidden控制显示与隐藏,组件始终会被渲染。
一般来说,a:if有更高的切换消耗而hidden有更高的初始渲染消耗。因此,在需要频繁切换的情景下,用hidden更好。如果在运行时条件改变不多则a:if较好。