wxml解析

一、数据绑定

  wxml中的动态数据均来自于对应js文件中的Page的data,在js中访问Page的data用this.data, 改变data中某个属性的值用setData()方法。

  Page({

    data: {

      id: 0,

      message: "hello",

      condition:true

    }

  })

  简单绑定:

    数据绑定使用Mustache语法(双大括号)将变量包起来

    <view> {{message}} </view>

   作用与组件属性:

    <view id="item-{{id}}" </view>

  作用于控制属性:

    <view wx:if="{{condition}}"> </view>

  运算:

    三元运算: <view hidden="{{flag?true: false}}" > hidden </view>

    算术运算: <view {{a + b}} + {{c}} + d </view>

  逻辑运算:

    <view wx:if="{{ length > 5 }}" > </view>

  字符串运算:

    <view> {{"message" + name }} </view>

二、wxml 组合

   可以在Mustache内直接进行组合,构成新的对象或者数组;

  <view wx:for="{{[zero, 1, 2, 3]}}" > {{item}} </view>

 1 <template name="objectCombine">
 2     <view>
 3         <text> {{for}} </text>
 4         <text> {{bar}} </text>
 5     </view>
 6 </template>
 7 
 8 <template name="objectCombine">
 9     <view>
10         <text> {{a}} </text>
11         <text> {{b}} </text>
12         <text> {{c}} </text>
13         <text> {{d}} </text>
14     </view>
15 </template>
16 <text> 使用对象 </text>
17 <template is="objectCombine" data="{{for: a, bar: b}}"> </template>
18 
19 <text>  对象展开 </text>
20 <template is="objectCombine2" data="{{...obj1, ...obj2, e: 5}}"> </template>
21 
22 条件渲染:
23 <view wx:if="{{length > 1}}"> 1 </view>
24 <view wx:elif="{{length > 2}}" > 2 </view> 
25 <view wx:else> 3 </view>
26 
27 <block wx:if="{{length >1 }}"">
28     <view> 1 </view>
29     <view> 2 </view>
30 </block>

  

原文地址:https://www.cnblogs.com/chris-cp/p/6692324.html