微信小程序学习笔记

项目结构

微信小程序学习笔记_第1张图片

  1. pages 用来存放所有小程序的页面

  1. utils 用来存放工具性质的模块(例如:格式化时间的自定义模块)

  1. app.js 小程序项目的入口文件

  1. app.json 小程序项目的全局配置文件

  1. app.wxss小程序项目的全局样式文件

  1. project.config.json 项目的配置文件

  1. sitemap.json 用来配置小程序及其页面是否允许被微信索引

pages 目录

微信小程序学习笔记_第2张图片

  1. .js 文件 (页面的脚本文件,存放页面的数据、事件处理函数)

  1. .json 文件(当前页面的配置文件,配置窗口的外观、表现)

  1. .wxml文件(页面的模板结构文件)

  1. .wxss 文件(当前页面的样式表文件)

.json 配置文件

app.json

  1. app.json 是当前小程序的全局配置,包括小程序的所有页面的路径、窗口外观、界面表现、底部tab等。

  1. 4个配置项的作用

  1. pages:用来记录当前小程序所有页面的路径

  1. window: 全局定义小程序所有页面的背景色、文字颜色等

  1. style: 全局定义小程序组件所使用的样式版本

  1. sitemapLocation: 用来指明 sitemap.json 的位置

project.config.json

project.config.json 是项目配置文件,用来记录对小程序开发工具所做的个性化配置,例如:

  1. setting 中保存了编译相关的配置

  1. projectname 中保存的是项目名称

  1. appid中保存的是小程序的账号ID

sitemap.json

微信已开放小程序内搜索,类似pc网页的 SEO。sitemap.json文件用来配置小程序页面是否允许微信索引。

当开发者允许微信索引,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。

注意:sitemap的索引提示是默认开启的,需要关闭 sitemap的索引提示,可在小程序配置文件 project.config.json的setting中配置字段 checkSiteMap为 false

小程序代码的构成

WXML模板

    • WXML 和 HTML 的区别

  1. 标签不同

  1. HTML(div, span, img, a)

  1. WXML(view, text, image, navigator)

  1. 属性节点不同

  1. 超链接

  1. 提供类似 vue 的模板语法

  1. 数据绑定

  1. 列表渲染

  1. 条件渲染

WXSS样式

    • WXSS 和 css 的区别

  1. 新增 rpx 尺寸单位

  1. css中需要手动进行像素单位换算,例如 rem

  1. WXSS 在底层支持新的尺寸单位 rpx, 在不同大小的屏幕上小程序会自动进行换算

  1. 提供了全局的样式和局部样式

  1. 项目根目录中的 app.wxss会作用于所有小程序页面

  1. 局部页面的 .wxss 样式仅对当前页面生效

  1. WXSS仅支持部分css 选择器

  1. .class 和 #id

  1. element

  1. 并集选择器、后代选择器

  1. ::after 和 ::before 等伪选择器

JS 逻辑交互

    • 小程序中 .js 文件的分类

  1. app.js

是整个小程序项目的入口文件,通过调用 App()函数来启动整个小程序

  1. 页面的 .js 文件

是页面的入口文件,通过调用 Page()函数来创建并运行页面

  1. 普通的 .js 文件

是普通的功能模块文件,用来封装公共的函数或属性供页面使用

小程序的宿主环境

简介

  1. 什么是宿主环境

指程序运行所必须依赖的环境,例如:Android系统和 IOS系统是两个不同的宿主环境,安卓版的微信App是不能在 ios环境下运行的,所以,Android是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的。

微信小程序学习笔记_第3张图片
  1. 小程序的宿主环境

手机微信是小程序的宿主环境,

微信小程序学习笔记_第4张图片

小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫描、微信支付

微信登陆、地理定位等等

  1. 小程序宿主环境包含的内容

  1. 通信模型

  1. 运行机制

  1. 组件

  1. API

通信模型

  1. 通信的主体

小程序中通信的主体是 渲染层 和 逻辑层,其中:

a. WXML模板和 WXSS样式工作在逻辑层

b. JS脚本工作在逻辑层

微信小程序学习笔记_第5张图片
  1. 小程序的通信模型

小程序中的通信模型分为两个部分

  1. 渲染层和逻辑层之间的通信

  1. 由微信客户端进行转发

b. 逻辑层和第三方服务器之间的通信

i. 由微信客户端进行转发

微信小程序学习笔记_第6张图片

运行机制

    • 小程序启动的过程

  1. 把小程序的代码包下载到本地

  1. 解析app.json全局配置文件

  1. 执行app.js小程序入口文件,调用 App()创建小程序实例

  1. 渲染小程序首页

  1. 小程序启动完成

2. 页面渲染过程

  1. 加载解析页面的 .json配置文件

  1. 加载页面的 .wxml 模板 和 .wxss 样式

  1. 执行页面的 .js 文件,调用 Page()创建页面实例

  1. 页面渲染完成

组件

    • 小程序中组件的分类

小程序中的组件也是宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。9大类组件如下:

  1. 视图容器

  1. 基础内容

  1. 表单组件

  1. 导航组件

  1. 媒体组件

  1. map地图组件

  1. canvas画布组件

  1. 开放能力

  1. 无障碍访问

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

微信小程序学习笔记_第7张图片
微信小程序学习笔记_第8张图片
微信小程序学习笔记_第9张图片

WXML模板语法

    • 数据绑定

2. 事件绑定

事件是渲染层和逻辑层之间的通信 触发方式

微信小程序学习笔记_第10张图片

WXSS模板样式

微信小程序学习笔记_第11张图片

navigationBarTextStyle 标题颜色 可选两值 block \white

全局配置

window

3. 下拉刷新

微信小程序学习笔记_第12张图片
微信小程序学习笔记_第13张图片

微信小程序学习笔记_第14张图片
微信小程序学习笔记_第15张图片

微信小程序学习笔记_第16张图片

页面配置

微信小程序学习笔记_第17张图片
微信小程序学习笔记_第18张图片
微信小程序学习笔记_第19张图片

网络数据请求

微信小程序学习笔记_第20张图片
微信小程序学习笔记_第21张图片
微信小程序学习笔记_第22张图片
微信小程序学习笔记_第23张图片
微信小程序学习笔记_第24张图片
微信小程序学习笔记_第25张图片
微信小程序学习笔记_第26张图片
微信小程序学习笔记_第27张图片

总结:

页面导航

声明式导航

微信小程序学习笔记_第28张图片
微信小程序学习笔记_第29张图片

微信小程序学习笔记_第30张图片

编程式导航

微信小程序学习笔记_第31张图片
微信小程序学习笔记_第32张图片
微信小程序学习笔记_第33张图片
微信小程序学习笔记_第34张图片

导航传参

微信小程序学习笔记_第35张图片
微信小程序学习笔记_第36张图片
微信小程序学习笔记_第37张图片

页面事件

下拉刷新

微信小程序学习笔记_第38张图片
微信小程序学习笔记_第39张图片
微信小程序学习笔记_第40张图片
微信小程序学习笔记_第41张图片

上拉触底事件

微信小程序学习笔记_第42张图片
微信小程序学习笔记_第43张图片
微信小程序学习笔记_第44张图片
微信小程序学习笔记_第45张图片
微信小程序学习笔记_第46张图片
微信小程序学习笔记_第47张图片
微信小程序学习笔记_第48张图片
微信小程序学习笔记_第49张图片

生命周期

微信小程序学习笔记_第50张图片
微信小程序学习笔记_第51张图片
微信小程序学习笔记_第52张图片
微信小程序学习笔记_第53张图片
微信小程序学习笔记_第54张图片
微信小程序学习笔记_第55张图片

wxs脚本

wxs简介

微信小程序学习笔记_第56张图片
微信小程序学习笔记_第57张图片
微信小程序学习笔记_第58张图片

基础语法

微信小程序学习笔记_第59张图片
微信小程序学习笔记_第60张图片
微信小程序学习笔记_第61张图片
微信小程序学习笔记_第62张图片

WXS的特点

微信小程序学习笔记_第63张图片
微信小程序学习笔记_第64张图片
微信小程序学习笔记_第65张图片
微信小程序学习笔记_第66张图片

自定义组件

自定义组件引用

微信小程序学习笔记_第67张图片
微信小程序学习笔记_第68张图片
微信小程序学习笔记_第69张图片
微信小程序学习笔记_第70张图片

样式

微信小程序学习笔记_第71张图片
微信小程序学习笔记_第72张图片
微信小程序学习笔记_第73张图片
微信小程序学习笔记_第74张图片

数据、方法、属性

微信小程序学习笔记_第75张图片
微信小程序学习笔记_第76张图片
微信小程序学习笔记_第77张图片
微信小程序学习笔记_第78张图片
微信小程序学习笔记_第79张图片

数据监听器

微信小程序学习笔记_第80张图片
微信小程序学习笔记_第81张图片
微信小程序学习笔记_第82张图片
微信小程序学习笔记_第83张图片

纯数据字段

微信小程序学习笔记_第84张图片
微信小程序学习笔记_第85张图片

组件的生命周期

微信小程序学习笔记_第86张图片
微信小程序学习笔记_第87张图片
微信小程序学习笔记_第88张图片

组件所在页面的生命周期

微信小程序学习笔记_第89张图片
微信小程序学习笔记_第90张图片

插槽

微信小程序学习笔记_第91张图片
微信小程序学习笔记_第92张图片
微信小程序学习笔记_第93张图片
微信小程序学习笔记_第94张图片
微信小程序学习笔记_第95张图片

父子组件之间的通信

微信小程序学习笔记_第96张图片
微信小程序学习笔记_第97张图片
微信小程序学习笔记_第98张图片
微信小程序学习笔记_第99张图片

父组件定义事件,接受 子组件传过来的 值

微信小程序学习笔记_第100张图片

子组件触发 传值

微信小程序学习笔记_第101张图片
微信小程序学习笔记_第102张图片

behaviors

微信小程序学习笔记_第103张图片
微信小程序学习笔记_第104张图片
微信小程序学习笔记_第105张图片
微信小程序学习笔记_第106张图片
微信小程序学习笔记_第107张图片
微信小程序学习笔记_第108张图片
微信小程序学习笔记_第109张图片
微信小程序学习笔记_第110张图片

使用npm包

微信小程序学习笔记_第111张图片

Vant Weapp

微信小程序学习笔记_第112张图片

安装使用 官网 Vant Weapp - 轻量、可靠的小程序 UI 组件库 (gitee.io)

API Promise化

微信小程序学习笔记_第113张图片
微信小程序学习笔记_第114张图片
微信小程序学习笔记_第115张图片
微信小程序学习笔记_第116张图片

全局数据共享

微信小程序学习笔记_第117张图片
微信小程序学习笔记_第118张图片

Mobx

微信小程序学习笔记_第119张图片
微信小程序学习笔记_第120张图片
微信小程序学习笔记_第121张图片
微信小程序学习笔记_第122张图片
微信小程序学习笔记_第123张图片

分包

基本概念

微信小程序学习笔记_第124张图片
微信小程序学习笔记_第125张图片
微信小程序学习笔记_第126张图片
微信小程序学习笔记_第127张图片
微信小程序学习笔记_第128张图片
微信小程序学习笔记_第129张图片

使用分包

微信小程序学习笔记_第130张图片
微信小程序学习笔记_第131张图片
微信小程序学习笔记_第132张图片

独立分包

微信小程序学习笔记_第133张图片
微信小程序学习笔记_第134张图片
微信小程序学习笔记_第135张图片
微信小程序学习笔记_第136张图片

添加 independent: true

微信小程序学习笔记_第137张图片

分包预下载

微信小程序学习笔记_第138张图片

微信小程序学习笔记_第139张图片
微信小程序学习笔记_第140张图片

你可能感兴趣的:(小程序,前端)