WXML

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件事件系统,可以构建出页面的结构。

用以下一些简单的例子来看看 WXML 具有什么能力:

数据绑定

  1. <!--wxml-->
  2. <view> {{message}} </view>
  1. // page.js
  2. Page({
  3. data: {
  4. message: 'Hello MINA!'
  5. }
  6. })

列表渲染

  1. <!--wxml-->
  2. <view wx:for="{{array}}"> {{item}} </view>
  1. // page.js
  2. Page({
  3. data: {
  4. array: [1, 2, 3, 4, 5]
  5. }
  6. })

条件渲染

  1. <!--wxml-->
  2. <view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>
  3. <view wx:elif="{{view == 'APP'}}"> APP </view>
  4. <view wx:else="{{view == 'MINA'}}"> MINA </view>
  1. // page.js
  2. Page({
  3. data: {
  4. view: 'MINA'
  5. }
  6. })

模板

  1. <!--wxml-->
  2. <template name="staffName">
  3. <view>
  4. FirstName: {{firstName}}, LastName: {{lastName}}
  5. </view>
  6. </template>
  7. <template is="staffName" data="{{...staffA}}"></template>
  8. <template is="staffName" data="{{...staffB}}"></template>
  9. <template is="staffName" data="{{...staffC}}"></template>
  1. // page.js
  2. Page({
  3. data: {
  4. staffA: {firstName: 'Hulk', lastName: 'Hu'},
  5. staffB: {firstName: 'Shang', lastName: 'You'},
  6. staffC: {firstName: 'Gideon', lastName: 'Lin'}
  7. }
  8. })

事件

  1. <view bindtap="add"> {{count}} </view>
  1. Page({
  2. data: {
  3. count: 1
  4. },
  5. add: function(e) {
  6. this.setData({
  7. count: this.data.count + 1
  8. })
  9. }
  10. })

具体的能力以及使用方式在以下章节查看:

数据绑定列表渲染条件渲染模板事件引用

原文:

https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/