微信小程序页面渲染

条件渲染:wx:if, wx:elif, wx:else

<view wx:if="{{list.length > 5}}" >1</view>
<view wx:elif="{{list.length > 2}}">2</view> 
<view wx:else>3</view>

 由于wx:if是一个控制属性,需要将它添加到一个标签上,如果要一次性判断多个组件标签,可以使用<block></block>标签将多个组件包装起来,并在上边使用wx:if 控制属性,

<block>
<view wx:if="{{list.length > 5}}" >1</view>
<view wx:elif="{{list.length > 2}}">2</view> 
<view wx:else>3</view>
</block>

 blcok 是一个包装元素,不会在页面做任何渲染。

 

hidhen:

在小程序中,hidden = "{{condition}}" 也能控制元素的显示和隐藏。为true隐藏,为false显示

<view hidden = "{{condition}}" >123</view>

 


 

列表渲染: wx:for

如果没有指定参数, 默认索引是index, 值是item

<view wx:for="{{userList}}" wx:key="index">索引是: {{index}}, 值是: {{item}}</view>

 data: {
    userList :[‘zhangsan‘, "lisi", ‘wnagwu‘]
  }

手动指定索引和当前项的变量名: 

<view wx:for="{{userList}}" wx:key="index" wx:for-index="i" wx:for-item="it">
  索引是: {{i}}, 值是: {{it}}
</view>

data: {
    userList :[‘zhangsan‘, "lisi", ‘wnagwu‘]
  }

 block wx:for 列表渲染

<block wx:for="{{userList}}" wx:key="index" wx:for-index="i" wx:for-item="it">
  <view>索引是: {{i}}, 值是: {{it}}</view>
</block>

 


 

key 在列表循环中的作用:

如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如<input />)中输入内容,<checkbox/>的选中状态,徐奥使用 wx:key来指定列表中项目的唯一标识符。

当数据改变触发渲染层重新渲染的时候,会校正带有key的组件,框架会确保他们被重新排序,而不是重新创建,以确保使组件保持自身状态,并且提高列表渲染时的效率。

key值的注意点:

key值必须具有唯一行,且不能动态改变。

key的值必须是数字或字符串

保留关键子*this代表在for循环中的item本身,它也可以充当key值,但是有以下限制,需要item本身是一个唯一的字符串或数字。

 

 

 

 

 

 

 

微信小程序页面渲染

上一篇:微信JS-SDK接口上传图片以及wx.config的配置


下一篇:个人商家怎么申请微信支付接口