小程序学习 (AXML--- 2.条件渲染 列表渲染)

条件渲染

1.a:if --- a:elif --- a:else

类似于vue中v-if、v-else用法。不做赘述。条件为true时,才开始渲染。

2.hidden

hidden类似于vue中v-show用法。不做赘述。元素始终被渲染,只是控制是否展示。

3.block a:if

若需要一次控制多个组件是否展示,则包裹在<block>标签中。<block>不会被渲染,只是起包裹作用。

<block a:if="{{true}}">
  <view> view1 </view>
  <view> view2 </view>
</block>

列表渲染

1.a:for

类似于v-for用法,数组当前项的下标变量名默认为 index,数组当前项的变量名默认为 item。使用 a:for-item 可以指定数组当前元素的变量名。使用 a:for-index 可以指定数组当前下标的变量名。

<view a:for="{{array}}" a:for-index="idx" a:for-item="itemName">
  {{idx}}: {{itemName.message}}
</view>

Page({
  data: {
    array: [{
      message: 'foo',
    }, {
      message: 'bar',
    }],
  },
});

2.a:key

列表项的唯一标识。

a:key 的值以两种形式来提供:

  • 字符串:代表列表项某个属性,属性值需要是列表中唯一的字符串或数字,例如 ID,并且不能动态改变。
  • 保留关键字 *this,代表列表项本身,并且它是唯一的字符串或者数字,例如当数据改变触发重新渲染时,会校正带有 key 的组件,框架会确保数据重新被排序,而不是重新创建,这可以使组件保持自身状态,提高列表渲染效率。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值