一、小程序页面与配置基础
1. 单页面配置
•每个小程序页面都有独立配置,由Page配置函数管控
•配置函数核心管控页面生命周期,负责页面初始化、加载数据、逻辑判断、循环列表渲染、页面交互等所有逻辑
•一个页面包含4个文件:页面js(逻辑+生命周期)、页面json(单独配置)、页面wxml(结构)、页面wxss(样式)
2. 全局顶层配置(总管理文件)
•整个小程序有一个上层总配置文件,统一管理所有页面,相当于页面目录、路由总管
•app.json:核心总配置,管理所有页面路径、路由、全局导航栏样式、底部tabBar、小程序权限、分包、网络设置
•app.js:全局逻辑文件,管控小程序全局初始化、全局变量、全局方法
•app.wxss:全局样式文件,所有页面通用的样式,全局生效
二、JS文件分类管理
1. 分类核心逻辑
按照功能、用途对JS文件分类,放进不同文件夹,实现代码复用、方便维护,避免所有逻辑堆在页面里,页面按需引入使用
2. 常用分类文件夹及作用
•utils:工具类JS,存放时间格式化、数据处理、字符串/数组操作、通用校验等全页面通用工具函数
•api:接口请求JS,统一封装所有后端接口请求,统一处理请求参数、错误、token,页面直接调用
•config:配置类JS,存放基础请求地址、常量、状态码、业务枚举等固定配置
•store:全局状态JS,管理用户信息、全局共享数据、跨页面共用数据
•service:业务逻辑JS,存放多个页面共用的复杂业务逻辑、业务规则判断
•components:公共组件JS,存放可复用自定义组件的逻辑文件
•behavior:公共行为JS,抽取页面、组件相同的生命周期、公共方法,减少代码冗余
3. JS使用方式
公共JS文件编写完成后,页面通过引入方式调用,无需重复编写代码
三、小程序样式文件分类
1. 全局样式
•文件名:app.wxss
•作用:整个小程序通用样式,所有页面自动继承,无需单独引入
2. 页面单独样式
•文件名:页面名.wxss(如index.wxss、mine.wxss)
•作用:仅当前页面生效,不影响其他页面,优先级高于全局样式
3. 公共样式
•文件夹名:styles
•常用文件:common.wxss(通用基础样式)、variable.wxss(样式变量:主题色、字号)、icon.wxss(图标样式)、animate.wxss(动画样式)
4. 组件单独样式
•文件名:组件名.wxss
•作用:仅当前自定义组件生效,管控组件自身样式
四、小程序数据存储与流转
1. 页面内数据
•存放位置:页面js的data中
•作用:当前页面数据渲染、交互使用,页面关闭后数据清空
2. 全局数据
•存放位置:app.js的globalData
•作用:整个小程序共享数据,小程序不退出就一直保留
3. 本地缓存
•作用:持久化存储数据,关闭小程序、重启手机数据仍存在
•适用场景:用户信息、登录状态、临时缓存数据、历史记录
4. 数据库存储
•云端/后台数据库:存储正式业务数据,小程序通过接口访问
•云开发数据库:小程序自带云端数据库,可直接操作存储业务数据
•适用场景:订单、用户数据、业务列表等需要长期保存、多设备同步的数据
5. 数据流转
•页面之间流转:路由跳转传参、全局数据、本地缓存
•组件之间流转:父组件向子组件传属性、子组件向父组件通过事件回传、兄弟组件通过父组件中转
•页面与组件流转:页面给组件传参,组件通过事件向页面回传数据
五、页面生命周期
页面生命周期由Page配置函数管控,是页面初始化、数据加载的核心,核心生命周期:
1.onLoad:页面加载,只执行一次,用于页面初始化、接收参数、加载数据、逻辑判断
2.onShow:页面显示,每次切换到该页面就执行,适合数据刷新
3.onReady:页面渲染完成,可操作页面节点
4.onHide:页面隐藏,切换到其他页面时执行
5.onUnload:页面卸载,页面关闭时执行
六、路由跳转(页面切换)
实现不同页面之间的跳转,对应app.json里注册的页面路由,主要分为:
•保留当前页面跳转:跳转到新页面,可返回原页面
•关闭当前页面跳转:跳转到新页面,无法返回原页面
•返回上一级/多级页面
•跳转到tabBar页面
•重启到指定页面(关闭所有页面)
七、表单提交
1.在页面wxml编写表单结构,包含输入框、单选、多选等表单项
2.将表单项数据绑定到页面data中,实时同步用户输入内容
3.编写表单验证逻辑,判断内容是否为空、格式是否正确
4.点击提交按钮触发提交事件,收集data中的表单数据
5.数据处理:提交到后台接口、保存到本地缓存或云端数据库
6.提交后处理:给出成功/失败提示、跳转页面、清空表单
八、列表渲染
1.在页面data中定义数组类型列表数据
2.通过循环指令将数组数据渲染成页面列表内容
3.数据来源:本地数据、接口请求后台数据、云端数据库数据、本地缓存数据
4.实现列表常见操作:下拉刷新、上拉加载更多、点击列表项跳转到详情页、列表项删除/修改
5.绑定列表交互事件,点击列表项时获取对应数据,做后续传参或业务处理
九、小程序完整学习开发流程
1.先掌握小程序组织架构原理:理清全局配置、页面配置、文件目录、JS/样式分类
2.吃透组件:学习组件属性、组件创建与引入、组件数据传递、组件交互逻辑
3.开发页面:用组件搭建页面,掌握页面生命周期、路由跳转、页面交互、页面传参
4.模块化开发:拆分业务模块,抽取公共代码,将组件、页面组合成完整前台项目
5.前后台交互:前台对接后台,实现接口请求、数据提交、数据接收
6.数据管理:按场景选择页面数据、全局数据、本地缓存、数据库存储,处理各类数据流转
7.功能完善:实现文件上传、媒体操作等拓展功能
8.项目部署上线:配置服务器、上传小程序代码、提交审核、发布上线