下面举的例子都是来自腾讯云微信小程序解决方案中的demojavascript
咱们知道,小程序中wxml的动态数据都是绑定在Page的data里面的,html
数据绑定使用 Mustache 语法(双大括号)将变量包起来,能够做用于:java
Page({ /** * 初始数据,咱们把服务地址显示在页面上 */ data: { loginUrl: config.service.loginUrl, requestUrl: config.service.requestUrl, tunnelUrl: config.service.tunnelUrl, tunnelStatus: 'closed', tunnelStatusText: { closed: '已关闭', connecting: '正在链接...', connected: '已链接' } }, })
<view class="line"> <text>登陆接口测试</text> <input type="text" value="{{loginUrl}}" disabled class="hide"></input> <view class="line-control"> <view bindtap="doLogin" class="item"><view class="item-inner">登陆</view></view> <view bindtap="clearSession" class="item"><view class="item-inner">清除登陆会话</view></view>
假如咱们须要条件来判断是否要显示,这个时候就要用到条件渲染小程序
在框架中,咱们用 wx:if="{{condition}}"
来判断是否须要渲染该代码块:例如微信小程序
<view wx:if="{{message.type == 'system'}}" class="system-message"> {{message.content}} </view>
同理,咱们也能够用wx:if和wx:else组成一段代码块数组
<view wx:if="{{length > 5}}"> 1 </view> <view wx:elif="{{length > 2}}"> 2 </view> <view wx:else> 3 </view>
值得注意的是,{{}}内只要有值,就为true微信
在组件上使用wx:for
控制属性绑定一个数组,便可使用数组中各项的数据重复渲染该组件。框架
默认数组的当前项的下标变量名默认为index
,数组当前项的变量名默认为item
ide
<view wx:for="{{messages}}" wx:for-item="message" wx:key="id" id="{{message.id}}" class="message {{message.type}}"> <view wx:if="{{message.type == 'speak'}}" class="user-message {{message.isMe ? 'me' : 'other'}}"> <image class="avatar" src="{{message.user.avatarUrl}}" mode="aspectFill"></image> <view class="text"> <view class="nickname">{{message.user.nickName}}</view> <view class="content">{{message.content}}</view> </view> </view> <view wx:if="{{message.type == 'system'}}" class="system-message"> {{message.content}} </view> </view>