【愚公系列】2022年10月 微信小程序-优购电商项目-小程序模板语法

2022-11-02 17:51:08 浏览数 (1)

文章目录

  • 前言
  • 一、数据绑定
    • 1. 普通写法
    • 2. 组件属性
    • 3. bool类型
  • 二、运算
    • 1. 三元运算
    • 2. 算数运算
    • 3. 逻辑判断
    • 4. 字符串运算
    • 5. 注意
  • 三、列表渲染
    • 1. wx:for
    • 2. block
  • 四、条件渲染
    • 1. wx:if
    • 2. hidden
    • 3. hidden和wx:if

前言

WXML(WeiXin Markup Language)是框架设计的⼀套标签语⾔,结合基础组件、事件系统,可以构 建出⻚⾯的结构。

一、数据绑定

1. 普通写法

代码语言:javascript复制
<view> {{ message }} </view>
代码语言:javascript复制
Page({
  data: {
    message: 'Hello MINA!'
 }
})

2. 组件属性

代码语言:javascript复制
<view id="item-{{id}}"> </view>
代码语言:javascript复制
Page({
  data: {
    id: 0
 }
})

3. bool类型

不要直接写 checked=“false”,其计算结果是⼀个字符串

代码语言:javascript复制
<checkbox checked="{{false}}"> </checkbox>

二、运算

1. 三元运算

代码语言:javascript复制
<view hidden="{{flag ? true : false}}"> Hidden </view>

2. 算数运算

代码语言:javascript复制
<view> {{a   b}}   {{c}}   d </view>
代码语言:javascript复制
Page({
  data: {
    a: 1,
    b: 2,
    c: 3
 }
})

3. 逻辑判断

代码语言:javascript复制
<view wx:if="{{length > 5}}"> </view>

4. 字符串运算

代码语言:javascript复制
<view>{{"hello"   name}}</view>
代码语言:javascript复制
Page({
  data:{
    name: 'MINA'
 }
})

5. 注意

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

三、列表渲染

1. wx:for

项的变量名默认为 item wx:for–item 可以指定数组当前元素的变量名 下标变量名默认为 index wx:for–index 可以指定数组当前下标的变量名 wx:key ⽤来提⾼数组渲染的性能 wx:key 绑定的值 有如下选择

  1. string 类型,表⽰ 循环项中的唯⼀属性 如
代码语言:javascript复制
list:[{id:0,name:"炒饭"},{id:1,name:"炒面"}]
wx:key="id"
  1. 保留字 *this ,它的意思是 item 本⾝ ,*this 代表的必须是 唯⼀的字符串和数组。
代码语言:javascript复制
list:[1,2,3,4,5]
wx:key="*this"

代码如下:

代码语言:javascript复制
<view wx:for="{{array}}" wx:key="id">
 {{index}}: {{item.message}}
</view>
代码语言:javascript复制
Page({
  data: {
    array: [{
      id:0,
      message: 'foo',
   }, {
      id:1,
      message: 'bar'
   }]
 }
})

2. block

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

代码语言:javascript复制
<block wx:for="{{[1, 2, 3]}}" wx:key="*this" >
  <view> {{index}}: </view>
  <view> {{item}} </view>
</block>

四、条件渲染

1. wx:if

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

代码语言:javascript复制
  <view wx:if="{{false}}">1</view>
  <view wx:elif="{{true}}">2</view>
  <view wx:else>3</view>

2. hidden

代码语言:javascript复制
<view hidden="{{condition}}"> True </view>

3. hidden和wx:if

wx:if会重新渲染节点,hidden只是隐藏。

0 人点赞