微信小程序快速开发入门指南
微信小程序开发是构建轻量级移动端应用的高效途径。本文将涵盖小程序的核心基础、页面布局技巧、事件处理、导航机制以及网络请求的实现方案。
1. 核心开发基础
小程序开发由组件(如 view, text, image)、页面配置(tabBar)以及样式系统组成。样式分为全局的 app.wxss 与页面局部的 .wxss,支持使用 rpx 这一弹性单位实现不同屏幕下的自动适配。
2. 事件与交互逻辑
事件绑定通过 bind 前缀实现(如 bindtap)。在处理事件时,可以通过 data- 属性传递参数,数据会挂载在事件对象的 currentTarget.dataset 中。若需阻止事件向父节点传递,可使用 catch 代替 bind。
// 页面事件处理示例
Page({
onTapButton(event) {
const { itemId } = event.currentTarget.dataset;
console.log("点击项 ID:", itemId);
}
})
3. 页面导航
小程序支持声明式导航(<navigator> 组件)和编程式导航(调用 JS API):
- 声明式:
<navigator url="/pages/home/home">跳转</navigator> - 编程式:
wx.navigateTo({ url: '/pages/home/home' })
4. 模板语法与列表渲染
通过 wx:for 可以高效渲染列表数据,使用 wx:key 提升渲染性能。条件渲染则使用 wx:if 与 wx:else,针对频繁切换显示的需求,建议使用 hidden 属性以避免节点销毁开销。
<block wx:for="{{itemList}}" wx:key="id">
<view wx:if="{{item.visible}}">{{item.title}}</view>
</block>
5. 网络请求与数据加载
小程序通过 wx.request 发起 API 调用。在请求过程中,通常配合 wx.showLoading 与 wx.hideLoading 来提升用户体验。
fetchData() {
wx.showLoading({ title: '加载中' });
wx.request({
url: 'https://api.example.com/data',
success: (res) => {
this.setData({ dataSource: res.data });
},
complete: () => {
wx.hideLoading();
}
});
}
6. Flex 弹性布局
Flexbox 是小程序布局的核心。理解主轴(Main Axis)与交叉轴(Cross Axis)是布局的关键:
- 容器常用属性:
flex-direction(方向)、justify-content(主轴对齐)、align-items(交叉轴对齐)、flex-wrap(换行)。 - 项目常用属性:
flex-grow(增长因子)、flex-shrink(收缩因子)、flex-basis(基础宽度)。
例如,实现一个容器内水平垂直居中:
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}