一、安装依赖包
二、小程序简介
2.1 小程序与普通网页开发的区别?
运行环境的不同:网页运行在浏览器,小程序运行在微信环境;
API 不同:小程序无法调用 DOM 和 BOM 的 API,但可以调用微信环境提供的 API;
开发模式:网页是 浏览器+代码编辑器,小程序开发模式是小程序账号;
小程序开发账号官网: https://mp.weixin.qq.com/
2.2 使用
2.3 项目文件结构介绍
2.4 运行机制:
2.5 组件
2.6 API:事件监听、同步异步API
三、数据绑定
① 在 .js 的 data 中定义数据
② 在 WXML 中 {{ }}使用数据
四、事件对象属性
4.1 常用事件
4.2 bindtap 的使用
1. 为组件绑定 tap 触摸事件,为文本框绑定输入事件
2. 在页面的 .js 文件中定义对应的事件处理函数,事件参数通过形参 event( e )来接收, 和 data 平级
4.3 访问和修改 data 中的数据、data-* 事件传参
1. js 中访问 data 中的数据:this.data.xxx
2. js 中修改 data 中的数据:调用setData方法,重新赋值
3. data-* 事件传参
五、事件绑定
5.1 条件渲染
1. block包裹性容器:条件成立渲染
2. wx:if:动态创建移除元素控制展示与隐藏
3. hidden:控制展示与隐藏
4. wx:if 和 hidden对比
5.2 列表渲染
1. wx:for 指定数组,进行循环渲染
2. wx:for-index 手动指定索引名
3. wx:for-item 手动指定当前项名
4. wx:key="id" 提高渲染效率
六、模板样式:rpx
布局使用 flex 布局,尺寸单位使用 rpx
( responsive pixel )是微信小程序独有的,用来解决屏适配的尺寸单位。
实现原理:不同设备屏幕的大小不同,实现屏幕的自动适配, rpx 把所有设备的屏幕,在宽度上等分为 750 份, 1份就是1 rpx 。较小(大)的设备上,1 rpx 所代表的宽度较小(大)。
七、全局配置文件 app.json 及常用的配置项
7.1 pages:当前小程序所有页面存放路径
7.2 window:窗口外观
7.3 tabBar:底部效果
7.4 style:是否启用新版组件样式
局部样式:当前页面配置json文件,会覆盖全局的配置
八、网络数据请求
8.1 配置request合法域名
8.2 发起GET请求:wx.request()
8.3 发起GET请求 :wx.request()
8.4 页面刚加载时请求数据:onLoad
九、跨域 和 Ajax 的说明
跨域问题是基于浏览器的 Web 开发。小程序的宿主环境是微信客户端,所以不存在跨域的问题。
Ajax 技术的核心是依赖于浏览器中的XMLHttpRequest 对象,由于小程序环境是微信,不能叫做“发起 Ajax 请求”,而是叫“发起网络数据请求”。
十、页面导航
10.1 声明式导航
10.2 编程式导航
10.3 其他
十一、页面事件
11.1 下拉刷新事件
11.2 上拉触底事件
11.3 节流
十二、生命周期
12.1 应用生命周期写在app.js
12.2 页面生命周期
12.3 详细生命周期
十三、WXS脚本
13.1 wxs和JavaScript的关系
13.2 基础语法
1.内嵌 wxs 脚本:通过模块名调用向外暴露的脚本方法
2. 外联的 wxs 脚本:
13.3 WXS 的特点
十四、自定义组件
14.1 创建和引用
根目录中 -> 创建components -> test 文件夹 -> 新建 Component -> 回车
14.2 组件和页面的区别
14.3 组件样式隔离
每个组件和页面样式之间不会影响,全局样式对组件无效,只有 class 选择器会有样式隔离效果
14.4 属性
14.5 数据监听器:observers
14.6 纯数据字段
不用于页面渲染的data字段,用于业务逻辑,有助于提升页面更新的性能
14.7 生命周期函数
14.8 插槽
1. 单个插槽
2. 多个插槽
14.9 组件通讯
1. 属性绑定:只能传递数据,不能传递方法
2. 事件绑定:子组件向父组件传递任意数据
3. 获取组件实例
十五、基础加强
15.1 behaviors
用于实现组件间代码共享:类似于mixins
每个 behaviors 可以包含一组属性、数据、生命周期函数和方法。组件引用它时,它的属性、数据和方法会被合并到组件中
15.2 vant-weapp组件库
有赞前端团队开源的一套小程序 UI 组件库,官方文档地址 https://youzan.github.io/vant-weapp
15.3 API Promise 化
官方提供的异步 API 都是基于回调函数实现,容易造成回调地狱,可读性、维护性差.
15.4 MobX全局数据共享
1. 使用 mobx-miniprogram创建 Store 实例对象
配合 mobx-miniprogram-bindings把 Store 中的共享数据或方法
绑定到组件或页面中,实现全局数据共享。
15.5 分包
1. 解释:把一个完整的小程序项目,按需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载;可以首次启动时间,共同开发时可以更好的解耦协作。
2. 体积限制:整个小程序的主包+分包不超过16M,单个包不超过2M;
3. 引用原则:主包、普通分包、独立分包之间私有资源不能相互引用;
1. 分包的使用:
2. 独立分包:
不打开主包而进入分包也可以启动小程序。本质也是分包,独立于主包和其他分包单独运行