WXML页面里的动态数据都是来自.js 文件Page的data,数据绑定就是通过双大 括号({{}})将变量包起来,在WXML页面 里将数据值显示出来。
- <view> {{ message }} view>
- // pages/product/product.js
- Page({
-
- /**
- * 页面的初始数据
- */
- data: {
- message: 'Hello MINA!'
-
- },
🔰组件属性绑定是将data里的数据绑定 到微信小程序的组件上。
- <view> {{ message }} view>
- <view id="item-{{id}}"> view>
- // pages/product/product.js
- Page({
-
- /**
- * 页面的初始数据
- */
- data: {
- message: 'Hello MINA!',
- id: 0
-
- },
🔰控制属性绑定用来进行if语句条件 判断,如果满足条件,则执行,否则 不执行,示例代码如下
- <view> {{ message }} view>
- <view id="item-{{id}}"> view>
- <view wx:if="{{condition}}"> 是否显示view>
- // pages/product/product.js
- Page({
-
- /**
- * 页面的初始数据
- */
- data: {
- message: 'Hello MINA!',
- id: 0,
- condition: true
-
- },
🔰关键字绑定常用于组件的一些关键字,像复选框组件一样。checked关键字如果等于true 则代表选中复选框,false则代表不选中复选框。
- <view> {{ message }} view>
- <view id="item-{{id}}"> view>
- <view wx:if="{{condition}}"> 是否显示view>
- <checkbox checked="{{false}}"> checkbox>
- <checkbox checked="{{condition}}"> checkbox>
在微信小程序框架里,使用 wx:if=”{{condition}}” 来判断是否需要渲染该代码块,使用 wx:elif 和 wx:else 来添加一个 else 块,示例代码如下
- <view> {{ message }} view>
- <view id="item-{{id}}"> view>
- <view wx:if="{{condition}}"> 是否显示view>
- <checkbox checked="{{false}}"> checkbox>
- <checkbox checked="{{condition}}"> checkbox>
-
- <view wx:if="{{condition}}"> True view>
- <view wx:if="{{length > 5}}"> 1 view>
- <view wx:elif="{{length > 2}}"> 2 view>
- <view wx:else> 3 view>
- // pages/product/product.js
- Page({
-
- /**
- * 页面的初始数据
- */
- data: {
- message: 'Hello MINA!',
- id: 0,
- condition: true,
- length:9
-
- },
🔰因为 wx:if 是一个控制属性,需要 将它添加到一个标签上。但是,如果 我们想一次性判断多个组件标签,则 可以使用一个
标签将多个组 件包装起来,并在其上使用 wx:if 控制 属性。
- <block wx:if="{{true}}">
- <view> view1 view>
- <view> view2 view>
- block>
🔰使用 wx:for-item 可以指定数组当前元素的变量名,使用 wx:for-index 可以指定数组当前 下标的变量名,示例代码如下。
在组件上使用 wx:for
控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。
默认数组的当前项的下标变量名默认为 index
,数组当前项的变量名默认为 item
使用 wx:for-item
可以指定数组当前元素的变量名,
使用 wx:for-index
可以指定数组当前下标的变量名:
🔰wx:for应用在某一个组件上,但 是如果想渲染一个包含多节点的结构 块,wx:for就需要应用在
标签 上,示例代码如下
- <block wx:for="{{[1, 2, 3]}}">
- <view> {{index}}: view>
- <view> {{item}} view>
- block>
-
- <view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
- {{idx}}: {{itemName.message}}
- view>
- data: {
- message: 'Hello MINA!',
- id: 0,
- condition: true,
- length:9,
-
- array: [{
- message: 'foo',
- }, {
- message: 'bar'
- }]
-
-
- },