WXML是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构
WXML和HTML的不同:
Page({ data:{ msg:"hello mina", num:10000, isGirl:false, person:{ name:"王", age:50 }, isChecked:false } })
<!--字符串--> <view>{{msg}}</view> <!--数字--> <view>{{num}}</view> <!--bool类型--> <view>是否是伪娘{{isGirl}}</view> <!--object--> <view>{{person.age}}</view> <!--在标签的属性中使用--> <view data-num="{{num}}">自定义属性</view> <!--使用boll类型当属性 checked 字符串和花括号之间不要存在空格,否则会导致识别失败 --> <checkbox checked="{{isChecked}}"></checkbox>
<!--加减--> <view>{{1+1}}</view> <view>{{'1'+'1'}}</view> <!-- 三元表达式--> <view>{{10%2===0?"偶数":"奇数"}}</view>
wx:for="{{数组或者对象}}" wx:for-item=“循环项的名称” wx:for-index=“循环项的索引”
wx:key=“唯一的值” 用来提高列表渲染的性能
wx:key="*this"
就表示你的数组是一个普通的数组," *this"表示是循环项当出现数组的嵌套循环的时候,尤其要注意,不要重名
默认情况下,我们不写wx:for-item="item" wx:for-index="index"
,小程序也会把 循环项的名称 和 索引的名称 item和index
只有一层循环的话wx:for-item="item" wx:for-index="index"
才可以省略‘
对象的循环,wx:for-item指向的是对象的值,wx:for-index指向的是对象的属性
项的变量名默认为item
, wx:for-item
可以指定数组当前元素的变量名
下标变量名默认为index
,wx:for-index
可以指定数组当前下标的变量名
<view> <view wx:for="{{list}}" wx:for-item="item" wx:for-index="index"> 索引:{{index}} -- 值:{{item.name}} </view> </view>
wx:key
用来提高数据渲染的性能
wx:key
绑定的值,有如下的选择
string
类型,表示循环项的唯一属性
list:[{id: 0, name: "炒饭"}, {id: 1, name: "炒面"}] wx.key="id";
<view> <view wx:for="{{list}}" wx:key="index" wx:for-item="item" > {{index}}---{{item.name}} </view> </view>
保留字*this
,它的意思是item
本身,*this代表的必须是唯一的字符串和数组
list:[1, 2, 3, 4, 5] wx:key="*this"
block在写代码的时候可以看见,但是运行代码的时候不会变成一个真正的dom元素——运行时,block标签消失,但是其他标签不受任何影响
用处:用来绑定循环
<block wx:for="{{list}}"> <view> {{index}}---{{item.name}} </view> </block>
在框架中,使用wx:if"{{condition}}"
来判断是否需要渲染该代码块
<view wx:if="{{false}}">1</view> <view wx:elif="{{true}}">2</view> <view wx:else>3</view>
<view hidden>11111</view> <view hidden="{{true}}">22222</view>
当标签不是频繁地切换显示,优先使用wx-if
直接把标签从页面结构给移除掉
当标签频繁地切换显示的时候,优先使用hidden
通过添加样式的方式切换显示