02-07 视图层

_____egon新书python全套来袭请看:https://egonlin.com/book.html

1. 视图层

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

1.1. 数据绑定

1.1.1. 普通写法

<view> {{ message }} </view>
Page({
  data: {
    message: 'Hello MINA!'
  }
})

1.1.2. 组件属性

简直和上面没区别啊

<view id="item-{{id}}"> </view>
Page({
  data: {
    id: 0
  }
})

1.1.3. bool类型

不要直接写 checked="false",其计算结果是一个字符串

<checkbox checked="{{false}}"> </checkbox>

1.2. 运算

1.2.1. 三元运算

<view hidden="{{flag ? true : false}}"> Hidden </view>

1.2.2. 算数运算

<view> {{a + b}} + {{c}} + d </view>
Page({
  data: {
    a: 1,
    b: 2,
    c: 3
  }
})

1.2.3. 逻辑判断

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

1.2.4. 字符串运算

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

Page({
  data:{
    name: 'MINA'
  }
})

1.2.5. 注意

花括号和引号之间如果有空格,将最终被解析成为字符串

1.3. 列表渲染

1.3.1. wx:for

项的变量名默认为 item wx:for-item 可以指定数组当前元素的变量名

下标变量名默认为 index wx:for-index 可以指定数组当前下标的变量名

<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</view>
Page({
  data: {
    array: [{
      message: 'foo',
    }, {
      message: 'bar'
    }]
  }
})

1.3.2. wx:for

渲染一个包含多节点的结构块 block最终不会变成真正的dom元素

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

1.3.3. wx:key

提高效率使用的

1.4. 条件渲染

1.4.1. wx:if

在框架中,使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块:

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

1.4.2. hidden

<view hidden="{{condition}}"> True </view>

类似 wx:if

频繁切换 用 hidden

不常使用 用 wx:if

posted @ 2019-10-11 23:11  小猿取经-林海峰老师  阅读(1047)  评论(0编辑  收藏  举报