[TOC]
## 2.3 组件
一个小程序页面可以分解成多个部分组成,组件就是小程序页面的基本组成单元。小程序的宿主环境提供了一系列基础组件。
[【组件说明 】](https://mp.weixin.qq.com/debug/wxadoc/dev/component/)
组件是在WXML模板文件声明中使用的,WXML的语法和HTML语法相似,小程序使用标签名来引用一个组件,通常包含开始标签和结束标签,该标签的属性用来描述该组件。
>[danger]所有组件名和属性都是小写,多个单词会以英文横杠 "-" 进行连接。
属性类型
| 类型 | 描述 | 注解 |
| --- | --- | --- |
| Boolean | 布尔值 | 组件写上该属性,不管该属性等于什么,其值都为true,只有组件上没有写该属性时,属性值才为false。如果属性值为变量,变量的值会被转换为Boolean类型 |
| Number | 数字 | 1, 2.5 |
| String | 字符串 | "string" |
| Array | 数组 | \[ 1, "string" ]|
| Object | 对象 | { key: value }|
| EventHandler | 事件处理函数名 | `handlerName`是 Page中定义的事件处理函数名|
| Any | 任意属性 | |
所有组件都拥有表3-7列举的属性,主要涉及样式和事件绑定。
:-: 表3-7 组件共有属性
| 属性名 | 类型 | 描述 | 其他说明 |
| --- | --- | --- | --- |
| id | String | 组件的唯一标示 | 保持整个页面唯一 |
| class | String | 组件的样式类 | 在对应的WXSS中定义的样式类 |
| style | String | 组件的内联样式 | 可以通过数据绑定进行动态设置的内联样式|
| hidden | Boolean | 组件是否显示 | 所有组件默认显示|
| data-* | Any | 自定义属性 | 组件上触发的事件时,会发送给事件处理函数 |
| bind /catch | EventHandler | 事件 | 详情见`2.5节 事件` |
组件都拥有各自自定义的属性,可以对该组件的功能或者样式进行修饰。
- 微信
- 小程序
- 1. 代码组成
- 1.1 JSON配置--'*.json'文件
- 1.2 WXML模板--'*.wxml'文件
- 1.3 WXSS样式--'*.wxss'文件
- 1.4 JavaScript脚本--'*.js'文件
- 2. 客户端运行
- 2.1 逻辑层和渲染层
- 2.1.1 逻辑层--App Service
- 2.1.2 渲染层/视图层--View
- 2.1.3 通信模型
- 2.1.4 数据驱动
- 2.1.5 双线程下的界面渲染
- 2.2 程序与页面
- 2.3 组件
- 2.4 API
- 2.5 事件
- 2.6 兼容
- 3. 应用设计
- 3.1 Flex布局
- 3.2 界面常见的交互反馈
- 3.3 发起HTTPS网络通信--wx.request
- 3.4 微信登录
- 3.5 本地数据缓存
- 3.6 设备能力
- 4. 小程序的协同工作和发布
- 4.1 协同工作
- 4.2 用户体验审视
- 4.3 发布
- 4.4 运营
- 5. 底层框架
- 5.1 双线程模型
- 5.2 组件系统--Exparser框架
- 5.3 原生组件
- 5.4 小程序与客户端通信原理
- 6. 运行和性能优化
- 6.1 启动--代码加载
- 6.2 页面准备
- 6.3 数据通信
- 6.4 视图层渲染
- 6.5 原生组件通信
- 7. 小程序基础库的更新迭代
- 8. 微信开发者工具
- 腾讯云支持
- wafer
- Wafer2 快速开发 Demo - PHP
- WXAPI
- api列表