模板语法
WXML(WeiXin Markup Language)是框架设计的⼀套标签语⾔,结合基础组件、事件系统,可以构 建出⻚⾯的结构。
1. 数据绑定
1.1. 普通写法
<view> {{ message }} </view> Page({ data: { message: 'Hello MINA!' } })
1.2. 组件属性
<view id="item-{{id}}"> </view> Page({ data: { id: 0 } })
1.3. bool类型
不要直接写 checked=“false”,其计算结果是⼀个字符串
<checkbox checked="{{false}}"> </checkbox>
2.运算
2.1. 三元运算
<view hidden="{{flag ? true : false}}"> Hidden </view>
2.2. 算数运算
<view> {{a + b}} + {{c}} + d </view> Page({ data: { a: 1, b: 2, c: 3 } })
2.3. 逻辑判断
<view wx:if="{{length > 5}}"> </view>
2.4. 字符串运算
<view>{{"hello" + name}}</view> Page({ data:{ name: 'MINA' } })
2.5. 注意
花括号和引号之间如果有空格,将最终被解析成为字符串
3. 列表渲染
3.1. wx:for
项的变量名默认为 item wx:for–item 可以指定数组当前元素的变量名
下标变量名默认为 index wx:for–index 可以指定数组当前下标的变量名
wx:key ⽤来提⾼数组渲染的性能
wx:key 绑定的值 有如下选择
string 类型,表⽰ 循环项中的唯⼀属性 如
list:[{id:0,name:"炒饭"},{id:1,name:"炒面"}]
wx:key="id"
保留字 this ,它的意思是 item 本⾝ ,this 代表的必须是 唯⼀的字符串和数组。
list:[1,2,3,4,5]
wx:key="*this"
代码:
<view wx:for="{{array}}" wx:key="id"> {{index}}: {{item.message}} </view> Page({ data: { array: [{ id:0, message: 'foo', }, { id:1, message: 'bar' }] } })
3.2. block
渲染⼀个包含多节点的结构块 block最终不会变成真正的dom元素
<block wx:for="{{[1, 2, 3]}}" wx:key="*this" > <view> {{index}}: </view> <view> {{item}} </view> </block>
4. 条件渲染
4.1. wx:if
在框架中,使⽤ wx:if="{{condition}}" 来判断是否需要渲染该代码块:
<view wx:if="{{false}}">1</view> <view wx:elif="{{true}}">2</view> <view wx:else>3</view>
4.2. hidden
<view hidden="{{condition}}"> True </view>
类似 wx:if
频繁切换 ⽤ hidden
不常使⽤ ⽤ wx:if