文章目录
- 前言
- 一、数据绑定
- 1. 普通写法
- 2. 组件属性
- 3. bool类型
- 二、运算
- 1. 三元运算
- 2. 算数运算
- 3. 逻辑判断
- 4. 字符串运算
- 5. 注意
- 三、列表渲染
- 1. wx:for
- 2. block
- 四、条件渲染
- 1. wx:if
- 2. hidden
- 3. hidden和wx:if
前言
WXML(WeiXin Markup Language)是框架设计的⼀套标签语⾔,结合基础组件、事件系统,可以构 建出⻚⾯的结构。
一、数据绑定
1. 普通写法
代码语言:javascript复制<view> {{ message }} </view>
代码语言:javascript复制Page({
data: {
message: 'Hello MINA!'
}
})
2. 组件属性
代码语言:javascript复制<view id="item-{{id}}"> </view>
代码语言:javascript复制Page({
data: {
id: 0
}
})
3. bool类型
不要直接写 checked=“false”,其计算结果是⼀个字符串
代码语言:javascript复制<checkbox checked="{{false}}"> </checkbox>
二、运算
1. 三元运算
代码语言:javascript复制<view hidden="{{flag ? true : false}}"> Hidden </view>
2. 算数运算
代码语言:javascript复制<view> {{a b}} {{c}} d </view>
代码语言:javascript复制Page({
data: {
a: 1,
b: 2,
c: 3
}
})
3. 逻辑判断
代码语言:javascript复制<view wx:if="{{length > 5}}"> </view>
4. 字符串运算
代码语言:javascript复制<view>{{"hello" name}}</view>
代码语言:javascript复制Page({
data:{
name: 'MINA'
}
})
5. 注意
花括号和引号之间如果有空格,将最终被解析成为字符串
三、列表渲染
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"
代码如下:
代码语言:javascript复制<view wx:for="{{array}}" wx:key="id">
{{index}}: {{item.message}}
</view>
代码语言:javascript复制Page({
data: {
array: [{
id:0,
message: 'foo',
}, {
id:1,
message: 'bar'
}]
}
})
2. block
渲染⼀个包含多节点的结构块 block最终不会变成真正的dom元素
代码语言:javascript复制<block wx:for="{{[1, 2, 3]}}" wx:key="*this" >
<view> {{index}}: </view>
<view> {{item}} </view>
</block>
四、条件渲染
1. wx:if
在框架中,使⽤ wx:if=“{{condition}}” 来判断是否需要渲染该代码块:
代码语言:javascript复制 <view wx:if="{{false}}">1</view>
<view wx:elif="{{true}}">2</view>
<view wx:else>3</view>
2. hidden
代码语言:javascript复制<view hidden="{{condition}}"> True </view>
3. hidden和wx:if
wx:if会重新渲染节点,hidden只是隐藏。