[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列表