微信小程序学习(二)——WXML

微信小程序学习(一)——组件
昨天是小程序组件的简单学习,今天就继续WXML的学习。

WXML(WeiXin Markup Language)是框架设计的一套标签语言,用来描述小程序页面的结构。

数据绑定:

动态数据均来自data,在js中访问data用this.data,改变用setData()

  • 简单绑定:
    (Mustache语法:双大括号将变量包起来,例如{{message}})
    作用于: 内容、组件属性(id=”item-{{id}}”)、控制属性(wx:if=”{{condition}}”)
    运算: 可在{{}}中进行简单的运算
               三元运算
               算术运算
               逻辑判断:wx:if=”{{length>5}}”
              字符串运算:{{“hello”+name}}
    组合: 可以在Mustache内直接进行组合,构成新的对象或者数组
              数组组合:wx.for=”{{[zero,1,2,3,4]}}”
              对象组合:
<template name=”1”>
<view>
<text>{{for}}</text>
<text>{{bar}}</text>
</view>
</template>
<template is=”1” data=”{{for:a,bar:b}}”></template>

                          也可以用扩展运算符…来将一个对象展开
在这里插入图片描述
                          如果对象的key和value相同,也可以间接表达
在这里插入图片描述
                           上述方式(对象组合)可以随意组合,但是如有存在变量名相同的情况,后边的会覆盖前面
在这里插入图片描述

条件渲染:
  • wx:if=”{{condition}}”判断是否渲染该代码块,也可以用wx:elif和wx:else来添 加一个else块
  • block wx:if:因为wx:if是一个控制属性,需要将她添加到一个标签上,但是如果我们想一次性判断多个组件标签,我们可以使用一个<block />标签将多个组件包装起来,并在上边使用wx:if控制属性。<block />不是组件,只 是一个包装元素,只接受控制属性。
    在这里插入图片描述
列表渲染:
  • wx:for:
    使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件,默认数组当前项的下标变量名默认为index,数组当前项的变量名默认为item
    在这里插入图片描述
    wx:for也可以嵌套,九九乘法表:
    在这里插入图片描述
模板:

template,可在模板中定义代码片段,然后在不同的地方调用

  • 定义模板:
    使用name属性,作为模板名字

  • 使用模板:
    使用is属性,声明需要的使用的模板,然后将模板所需要的data传入。
    is属性可以使用Mustache语法,来决定具体需要渲染哪个模板
    在这里插入图片描述
    模板只能使用data传入数据

事件:
  • 事件概述:
    事件: 用户对界面操作的响应
    绑定事件: 以bind或catch开头,然后跟上事件的类型,如 bindtap,catchtouchstart

bind事件不会阻止冒泡事件向上冒泡,catch可以阻止冒泡事件向上冒泡

  • 事件对象:
    type,通用事件类型
    timeStamp,该页面打开到触发事件所经过的毫秒数
    target,触发事件的源组件
    在这里插入图片描述
    currentTarget,事件绑定的当前组件
    在这里插入图片描述
    dataset,在组件中可以定义数据,这些数据将会通过事件传递给SERVICE。
    书写方式:以data-开头,多个单词由连接符-连接,不能有大写(大写会自动转成小写),例如data-element-type在event.target.dataset中会将连 字符转成驼峰elementType
    touches:是一个触摸点的数组
    在这里插入图片描述
    detail:特殊事件所携带的数据,如表单组件的提交事件会携带用户 的输入,媒体的错误事件会携带错误信息
  • 事件分类:
    冒泡事件:当组件上的事件被触发后,该组件会向父节点传递
    非冒泡事件:当组件上的事件被触发后,该组件不会向父节点传递
    在这里插入图片描述
    bind事件不会阻止冒泡事件向上冒泡,catch可以阻止冒泡事件向上冒泡
引用:

WXML:提供两种文件引用方式 import和include

import:可以在该文件中使用目标文件定义的template
include:可以将目标文件除了<template />的整个代码带入,相当于是拷贝到include位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值