一、数据绑定
wxml中的动态数据均来自于对应js文件中的Page的data,在js中访问Page的data用this.data, 改变data中某个属性的值用setData()方法。
Page({
data: {
id: 0,
message: "hello",
condition:true
}
})
简单绑定:
数据绑定使用Mustache语法(双大括号)将变量包起来
<view> {{message}} </view>
作用与组件属性:
<view id="item-{{id}}" </view>
作用于控制属性:
<view wx:if="{{condition}}"> </view>
运算:
三元运算: <view hidden="{{flag?true: false}}" > hidden </view>
算术运算: <view {{a + b}} + {{c}} + d </view>
逻辑运算:
<view wx:if="{{ length > 5 }}" > </view>
字符串运算:
<view> {{"message" + name }} </view>
二、wxml 组合
可以在Mustache内直接进行组合,构成新的对象或者数组;
<view wx:for="{{[zero, 1, 2, 3]}}" > {{item}} </view>
1 <template name="objectCombine"> 2 <view> 3 <text> {{for}} </text> 4 <text> {{bar}} </text> 5 </view> 6 </template> 7 8 <template name="objectCombine"> 9 <view> 10 <text> {{a}} </text> 11 <text> {{b}} </text> 12 <text> {{c}} </text> 13 <text> {{d}} </text> 14 </view> 15 </template> 16 <text> 使用对象 </text> 17 <template is="objectCombine" data="{{for: a, bar: b}}"> </template> 18 19 <text> 对象展开 </text> 20 <template is="objectCombine2" data="{{...obj1, ...obj2, e: 5}}"> </template> 21 22 条件渲染: 23 <view wx:if="{{length > 1}}"> 1 </view> 24 <view wx:elif="{{length > 2}}" > 2 </view> 25 <view wx:else> 3 </view> 26 27 <block wx:if="{{length >1 }}""> 28 <view> 1 </view> 29 <view> 2 </view> 30 </block>