微信小程序开发 组件认识

本文介绍了微信小程序的事件绑定,包括bind和catch事件类型的使用,以及如何传递参数。详细讲解了视图容器组件如scroll-view和view的使用。此外,还深入探讨了自定义组件的创建与使用,包括组件的声明、引用以及组件文件的组成。
  • 能够给view组件绑定tap事件

  • 能够给事件传递参数 data-

  • 能会使用scroll-view和view容器组件

  • 能够自定义组件并且使用自定义组件

一、事件

1.1 事件绑定

事件 | 微信开放文档

小程序事件绑定是在组件中以属性的形式来完成的,例【bind/catch事件名="方法名"】

注:小程序中绑定方法名不能用括号,直接写方法名即可

事件名bind【冒泡】或catch【非冒泡】开头,然后跟上事件的类型,如bindtap、catchtap

tap 手指触摸后马上离开 类似于 html中的click事件

自基础库版本 1.5.0 起,在非原生组件中,bind和catch后可以紧跟一个冒号,其含义不变,如bind:tap、catch:touchstart

原生组件【camera、canvas、input、live-player、live-pusher、map、textarea、 video】

value 是一个字符串,需要在对应的页面逻辑文件JS文件中定义对应的实现方法。 在wxml中定义一个事件

key=value bind:tap=”click” 注意,事件名不能用括号

图片1

js中实现对应的事件方法

图片2

事件绑定

图片3

1.2 事件对象

如无特殊说明,当组件触发事件时,逻辑层绑定该事件的处理函数会收到一个事件对象

BaseEvent 基础事件对象属性列表:

属性类型说明
typeString事件类型
timeStampInteger事件生成时的时间戳
currentTargeObject当前组件的一些属性值集合(对象) 在组件中 data- 开头定义的属性

使用data-开头的的自定义属性来进行参数的传递

图片1

在js中通过 event对象中的 target或currentTarget中的dataset来获取

图片2

二、常用小程序组件

2.1 概念及语法

框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发

什么是组件:

组件是视图层的基本组成单元

一个组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标签之内

注意:所有组件与属性都是小写,连接字符用中横线【-】连接

2.1.1 属性值类型

类型描述注解
Boolean布尔值组件写上该属性,不管该属性等于什么,其值都为true,只有组件上没有写该属性时,属性值才为false。如果属性值为变量,变量的值会被转换为Boolean类型{{}}
Number数字1, 2.5{{}}
String字符串"string"
Array数组[ 1, "string" ]{{}}
Object对象{ key: value }{{}}
EventHandler事件处理函数名"handlerName" 是 Page中定义的事件处理函数名

wxml中属性类型传递

图片3

js类型判断

图片4

2.1.2 共同属性类型

所有组件都有的属性:

属性名类型描述注解
idString组件的唯一标示保持整个页面唯一
classString组件的样式类在对应的 WXSS 中定义的样式类
styleString组件的内联样式可以动态设置的内联样式
hiddenBoolean [false]组件是否显示所有组件默认显示
data-*Any自定义属性组件上触发的事件时,会发送给事件处理函数
bind* / catch*EventHandler组件的事件详见事件

tab切换

在wxml中定义对应的数据和事件

图片5

wxss样式

图片6

js文件

图片7

图片8

图片9

效果

图片10

2.2 视图容器组件

2.2.1 swiper

滑块视图容器

swiper | 微信开放文档

image

image

image

tab案例

wxml循环数据和swiper

image

wxss定义样式

image

js中实现swiper的tab切换

使用了小程序提供的模块化功能

导出 
	module.exports  = {对象}
导入 
	var/let/const 变量 = require(相对地址)

定义公共函数

image

在js逻辑层中导入引用

image

image

image

2.2.2 scroll-view

可滚动视图区域。使用竖向滚动时,需要给<scroll-view>一个固定高度,通过 WXSS 设置 height,同时还需要在组件属性中定义允许纵向滚动 scroll-y=”{{true}}”

注意点

tip: 请勿在 scroll-view 中使用 textarea、map、canvas、video 组件

一定要设置高度,事件触发,必须是大于了你设置的高度才能被触发到事件

wxml定义滚动组件

image

wxss中设置高度

image

js中实现相关的事件和回到顶部

image

image

image

加载更多

wxml中循环出数据

image

js中实现加载更多

image

三、自定义组件

自定义组件 | 微信开放文档

开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。自定义组件在使用时与基础组件非常相似。 说白了就是自定义一些标签,然后这些标签能帮助我们实现一些功能且可以重复的使用

3.1 创建自定义组件

类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成。要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可将这一组文件设为自定义组件):

{
  "component": true
}

WXML文件代码

image

JSON文件代码

image

WXSS文件代码

image

3.2 使用自定义组件

使用已注册的自定义组件前,首先要在页面的 json 文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径:

{
  "usingComponents": {
	// 在父模板中调用的标签名    组件的路径
    "component-tag-name": "path/to/the/custom/component"
  }
}

image

image

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.海上月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值