wxml 文件中所使用的数据均来源于同名 json 文件中 Page() 里的 data 对象
使用 {{ }} 将变量或者表达式包起来,一般作用于标签中间的内容:
<view class="temp"> {{ temp }} </view> Page({ data: { temp: "hello world" } })在属性中使用变量或表达式的部分使用 {{ }} 包裹起来:
<view data-id="id-{{ dataId }}"></view> Page({ data: { dataId: 1 } })使用 wx:if 来判断是否需要渲染该代码块,也可以用 wx:elif 和 wx:else 来添加一个 else 块:
<view wx:if="{{ len > 5 }}">1</view> <view wx:elif="{{ len > 2 }}">2</view> <view wx:else>3</view>注意:
wx:if 是一个控制属性,只能使用标签属性的渲染方式作用于 标签上。wx:if 控制的是标签会不会被渲染,hidden 控制的是标签会不会被展示。在组件上使用 wx:for 给标签绑定一个数组,即可使用数组中各项的数据重复渲染该组件。下标变量名默认为 index,当前项的变量名默认为 item :
<view wx:for="{{ array }}">{{ index }} - {{ item }}<view>如果不想使用默认的 index 和 item,也可以使用 wx:for-index 和 wx:for-item 来进行自定义:
<view wx:for="{{ array }}" wx:for-index="myIndex" wx:for-item="myItem"> {{ myIndex }} - {{ myItem }} </view>wx:for 也可以嵌套使用,类似于 for 循环的嵌套。
使用 wx:for 时,需要使用 wx:key 来指定列表中项目的唯一的标识符, wx:key 的值有以两种形式:
字符串,代表在 for 循环的数组中 item 的某个属性名,该属性的值需要是列表中唯一的字符串或数字,且不能动态改变。'*this' 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。如不提供 wx:key,会报一个 warning, 如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。