小程序笔记

‘一、跟普通开发不同点

  1. 运行环境不同:网页浏览器,小程序微信环境

  2. API:运行环境不同,所以无法调用DOM和BOM得API,但是小程序可以调用微信环境API,如地理位置,扫码,支付

  3. 开发模式不同:

    • 网页:浏览器和代码编辑器
    • 小程序:申请小程序账号,安装小程序开发者工具,创建配置小程序项目
    • 后台:https://mp.weixin.qq.com/wxamp/home/guide?lang=zh_CN&token=1444414227

二、小程序代码构成

目录结构

image-20220131231020800

小程序页面在pages目录中以单独文件夹存在

image-20220131231543671

JSON 配置文件

  1. JSON配置文件作用

image-20220131231906481

  1. app.json 文件

image-20220131232345400

  1. project.config.json 文件

image-20220131232643707

  1. sitemap.json 文件

image-20220131233311635

  1. 页面的 .json 配置文件

image-20220131233735874

WXML模板

  1. 什么是WXML

image-20220131234948654

  1. WXML和HTML的区别

image-20220131235237902

  1. WXSS和CSS的区别

image-20220131235525750

JS逻辑交互

  1. 小程序中的.js代码

image-20220131235713074

  1. 小程序中.js文件分类

image-20220131235923778

三、宿主环境

宿主环境简介

  1. 什么是宿主环境

image-20220201000220448

  1. 小程序宿主环境

手机微信是小程序宿主环境,小程序借助宿主环境提供的功能,可以完成许多网页无法完成的功能,如微信扫码,微信支付,微信登录,地理定位,ect…

  1. 小程序宿主环境提供的支持
  • 通信模型
  • 运行机制
  • 组件
  • API

通信模型

  1. 通信主体

image-20220201000901181

  1. 小程序通信模型

image-20220201001118989

运行机制

  1. 小程序启动过程

image-20220201001356873

  1. 页面渲染过程

image-20220201001549370

三、组件

  1. 小程序中组件分类

视图容器;基础内容;表单组件;导航组件;媒体组件;map地图组件;canvas画布组件;开放能力;无障碍访问

  1. 常用的视图容器类组件

image-20220201002019146

  • scroll-view 组件属性
属性说明
scroll-y允许y轴滚动
scroll-x允许x轴滚动
<scroll-view scroll-y><scroll-view />
  • swiper 组件属性

image-20220201012327525

<swiper  autoplay>
    //里面必须标签
<swiper-item>1</swiper-item>
<swiper-item>2</swiper-item>
<swiper/>
  1. 常用的基础内容组件

image-20220201013152792

  • text 组件属性
<text selectable>1874454<text> //selectable 手机端长按复制
  • rick-text组件属性
<rich-text nodes="<h1 style='color:red'>123</ h1>"></rich-text>  
  1. 其他常用组件

image-20220201014449359

  • button按钮组件属性

image-20220201014918427

image-20220201014943240

  • image 组件的mode属性

image-20220201020016351

<image src='/images/1.png' mode='aspectFit'><image>

四、API

  1. 小程序API概述

image-20220201020526044

  1. 小程序API的3大分类

image-20220201020642428

五、协同工作权限

  1. 不同项目成员对应权限

image-20220201022116247

  1. 开发者权限说明

image-20220201021410950

六、小程序版本

  1. 软件开发过程中不同版本

image-20220201022320327

  1. 小程序版本

image-20220201022417726

七、发布上线

  1. 小程序发布上线步骤

image-20220201022639340

  1. 上传代码

image-20220201022838839

  1. 后台查看上传的版本

image-20220201022935632

  1. 提交审核

image-20220201023138344

  1. 发布

image-20220201023244091

  1. 基于小程序码进行推广

image-20220201023550930

  1. 查看小程序运营数据

image-20220201023902133

八、数据绑定

  1. 数据绑定基本原则

image-20220201154314181

2**.在data中定义数据结构**

image-20220201154448073

  1. Mustache语法格式

image-20220201154635980

4.Mustache语法应用场景

image-20220201155104900

  • 动态绑定属性

image-20220201155343030

九、事件绑定

  1. 小程序常用事件

image-20220201160147983

  1. 事件对象属性列表

image-20220201160324928

触摸点就是几个手指在屏幕上

  1. target 和 currentTarget 的区别

image-20220201161718556

  1. bindtap语法

image-20220201162050325

  1. 在事件函数中为data中数据赋值

image-20220201162401036

  1. 事件传参

image-20220201162603187

image-20220201162823452

data-info用胡子语法是数组,引号传过去就是字符串

image-20220201163029926

  1. bindinput 的语法格式

image-20220201165628266

  1. 文本框和input之间数据绑定

image-20220201170506748

image-20220201170544593

十、条件渲染

  1. wx:if

image-20220201170813978

  1. hidden

image-20220201172737380

  1. wx:if与hidden对比

image-20220201173016231

十一、列表循环渲染

  1. wx:for循环渲染

image-20220201173357855

  1. wx:key使用

image-20220201173649599

十二、WXSS样式模板

  1. WXSS 和CSS 关系

image-20220201174228201

  1. rpx的实现原理

image-20220201174515736

  1. rpx和px之间换算

image-20220201175046039

  1. @import 的语法格式

image-20220201175351686

十三、全局配置

  1. 全局配置文件及常用配置项

image-20220201175936796

  1. window配置
  • 程序小窗口组成部分

image-20220201180613089

  • 常用的 window 节点配置项
    "image-20220201181846320"

  • 模拟器问题说明

    当下拉刷新页面颜色可能会自东改变,自动合上,真机不会改变颜色,不会自动合上。

tabBar配置

image-20220201183858103

  • 什么是tabBar

image-20220201182242929

  • tabBar 6个组成部门

image-20220201182606666

  • tabBar 节点的配置项

image-20220201182936391

  • list里面每个配置项包含

image-20220201183050755

tabBar标签对应页面必须放在数组最上面,否则无法显示

十四、单个页面配置

  1. 页面配置和全局配置关系

image-20220201184327541

  1. 页面配置中常用的配置项

image-20220201184411298

十五、数据请求

  1. 小程序中网络请求的限制

image-20220201184733022

  1. 配置request合法域名

image-20220201185240547

  1. 发起post和get请求

image-20220201190310101

image-20220201190433508

  1. 在页面刚加载请求数据

image-20220201190737087

onLoad:function(options){
  postinfo(){
    ...
  }
}
  1. 跳过 request 合法域名请求

image-20220201191015058

  1. 关于跨域和Ajax的说明

image-20220201191145483

十六、页面导航

  1. 小程序页面导航2种方式

image-20220202005801030

声明式导航

  1. 声明式导航-跳转tabBar页面

image-20220202010109829

  1. 声明式导航-跳转非tabBar页面

不写open-type属性,就是跳转非tabBar页面

  1. 声明式导航-后退导航

image-20220202011103319

  1. 传参

image-20220202012233246

编程式导航

  1. 导航到 tabBar页面

image-20220202011416724

示例代码如下:

image-20220202011633342

  1. 跳转非tabBar页面

image-20220202011737174

  1. 后退导航

image-20220202012114857

  1. 传参

image-20220202012519024

接收导航参数

image-20220202013003991

十七、下拉刷新

  1. 启用下拉刷新

image-20220202013246539

  1. 监听页面下拉刷新事件,停止下拉刷新效果

image-20220202014142212

image-20220202014257226

十八、上拉触底

  1. 监听页面的上拉触底事件

image-20220202014654642

  1. 添加loading效果

image-20220202021250873

  1. 上拉触底进行节流处理

image-20220202021855703

十九、小程序生命周期

  1. 小程序生命周期分类

image-20220202143056688

  1. 应用生命周期函数

image-20220202144221161

  1. 页面生命周期函数

image-20220202144555294

二十、WXS脚本过滤器

  1. wxs 的应用场景

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kPweYK1F-1644226550891)(小程序笔记.assets/image-20220202144942793.png)]

  1. wxs 和 js 的关系

image-20220202145025949

  1. 内嵌 wxs脚本

image-20220202145357875

  1. 定义外联 wxs 脚本

image-20220202145726730

  1. 使用外联wxs脚本

image-20220202150005030

二十一、自定义组件

组件创建与引用

  1. 创建组件

image-20220202192857869

  1. 组件引用方式

image-20220202193716892

  1. 局部引用组件

image-20220202193941797

  1. 全局引用组件

image-20220202194034107

  1. 组件和页面组件区别

image-20220202194340407

样式

  1. 组件样式隔离

image-20220202194855704

  1. 组件样式隔离注意点

image-20220202195156688

  1. 修改组件的样式隔离选项

image-20220202195526640

stylesolation 的可选值

image-20220202195622032

数据、方法和属性

  1. methods方法

image-20220202200147679

  1. properties 属性接收外部数据

image-20220202200604968

  1. data 和properties 区别

image-20220202201106734

  1. 使用setData 修改properties数据

image-20220202201438191

数据监听器

  1. 什么是数据监听器

image-20220202201644034

  1. 监听器基本使用

image-20220202202103731

  1. 监听器对象属性变化

image-20220202202400040

  1. 监听对象所有属性变化

image-20220202205943728

纯数据字段

  1. 什么是纯数据字段

image-20220202211519303

作用:可以提升性能,只适用组件

  1. 使用规则

image-20220202211606753

组件生命周期

  1. 组件全部生命周期函数

image-20220202211834578

注意:初始化调用一次

  1. 组件主要的生命周期函数

image-20220202212248379

  1. 生命周期函数定义方式

image-20220202212508552

  1. 组件所在页面生命周期

  2. 定义方法

image-20220202214950630

组件插槽

  1. 单个插槽

image-20220202221548989

  1. 启用多个插槽

image-20220202221658374

  1. 定义和使用多个插槽

image-20220202221852995

image-20220202221912901

父子组件通信

  1. 父子组件通信3种方式

image-20220202222101215

  1. 属性绑定

image-20220202222948550

  1. 事件绑定子传父

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TBLte4zs-1644226550905)(小程序笔记.assets/image-20220202230025551.png)]

  1. 获取子组件实例访问子组件方法属性

image-20220202231450762

behaviors代码共享

  1. 什么是behaviors

image-20220202231642809

  1. 工作方式

image-20220202231826378

  1. 创建behaviors

image-20220202232157069

  1. 导入并使用

image-20220202232432860

  1. behavior可用的节点

image-20220202232549719

  1. 同名字段覆盖规则

image-20220202233131474

二十二、npm和组件库

  1. 小程序对npm的限制

image-20220201110610728

Vant Weapp 组件库

image-20220201110817847

官方文档:https://youzan.github.io/vant-weapp/#/home

安装 Vant 组件库

image-20220201111701537

首先创建npm init -y 命令创建组件管理文件

API Promise化

  1. 实现API Promise化

小程序装完一个包必须重新构建

image-20220201121207268

小程序入口文件中(app.js)配置,只需调用一次 promisifyAll() 方法

import {promisifyAll} from 'miniprogram-api-promise'
const wxp = wx.p={}
promisifyAll(wx,wxp)

请求发送方式

image-20220201123754057

二十三、全局数据共享

  1. 什么是全局数据共享

image-20220201123859795

  1. 小程序全局数据共享

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uergFGEQ-1644226550911)(小程序笔记.assets/image-20220201124229720.png)]

3.创建store实例对象store=>store.js

import {observable,action} from 'mobx-miniprogram'

export const store = observable({
  // 数据字段
  numA:1,
  numB:2,
  // 计算属性
  get sum(){
    return this.numA+this.numB
  },
  // actions 函数,专门修改store中数据函数
  updateNum1:action(function(step){
    this.numB+=step
  }),
    updateNum2:action(function(step){
    this.numA+=step
  })
})
  1. 将store绑定页面上
import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../store'
Page({
  onLoad:function(){ //生命周期函数,监听页面加载
    this.storeBindings=createStoreBindings(this,{
      store,
      fields:['numA','numB','sum'],
      actions:['updateNum1']
    })
  },
  onUnload:function(){  //生命周期函数监听页面卸载
    this.storeBindings.desrroyStoreBindings() //卸载方法
  }
}
  1. 将Store 中成员绑定组件中

image-20220203000229083

二十四、分包

基础概念

  1. 什么是分包

image-20220203000720208

  1. 分包的好处

image-20220203000756381

  1. 分包前项目构成

image-20220203000933921

  1. 分包后项目构成

image-20220203001056159

  1. 分包的加载规则

image-20220203001206041

  1. 分包体积限制

image-20220203001249510

使用分包

  1. 配置方法

image-20220203001514291

  1. 打包原则

image-20220203003048459

  1. 引用原则

image-20220203003205203

独立分包

  1. 什么是独立分包

image-20220203003436090

  1. 独立分包和普通分包区别

image-20220203003525521

  1. 独立分包应用场景

image-20220203003627088

  1. 独立分包配置方法

image-20220203003820147

  1. 引用原则

image-20220203003953048

分包预下载

  1. 什么是分包预下载

image-20220203004243619

  1. 配置分包预下载

image-20220203004650943

  1. 分包预下载限制

image-20220203004907180

g-n6cc7HZX-1644226550913)]

  1. 分包的加载规则

[外链图片转存中…(img-RGpxbjeI-1644226550913)]

  1. 分包体积限制

[外链图片转存中…(img-cjrCfuZj-1644226550913)]

使用分包

  1. 配置方法

[外链图片转存中…(img-Iix0JKK5-1644226550914)]

  1. 打包原则

[外链图片转存中…(img-mRN4jNQ1-1644226550914)]

  1. 引用原则

[外链图片转存中…(img-zJIthrTO-1644226550914)]

独立分包

  1. 什么是独立分包

[外链图片转存中…(img-KjPDxHv4-1644226550915)]

  1. 独立分包和普通分包区别

[外链图片转存中…(img-m2Mk2IH8-1644226550915)]

  1. 独立分包应用场景

[外链图片转存中…(img-3HMqdbGm-1644226550915)]

  1. 独立分包配置方法

[外链图片转存中…(img-w3WkK744-1644226550916)]

  1. 引用原则

[外链图片转存中…(img-yCVJx3BU-1644226550916)]

分包预下载

  1. 什么是分包预下载

[外链图片转存中…(img-IfPYo2yL-1644226550917)]

  1. 配置分包预下载

[外链图片转存中…(img-mmJ3gf7V-1644226550917)]

  1. 分包预下载限制

[外链图片转存中…(img-Kob1CdWc-1644226550917)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

25氪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值