目录
1.页面导航
1.1 什么是页面导航
页面导航指的是
页面之间的相互跳转
。例如,浏览器中实现页面导航的方式有如下两种:
① <a> 链接
② location.href
1.2 小程序中实现页面导航的两种方式
①
声明式导航
⚫
在页面上声明一个 <navigator> 导航组件
⚫
通过点击 <navigator> 组件实现页面跳转
②
编程式导航
⚫
调用小程序的导航 API,实现页面的跳转
1.2.1页面导航 - 声明式导航
1. 导航到 tabBar 页面
tabBar 页面
指的是被配置为 tabBar 的页面。
在使用 <navigator> 组件跳转到指定的 tabBar 页面时,需要指定
url
属性和
open-type
属性,其中:
⚫
url 表示要跳转的
页面的地址
,必须以
/
开头
⚫
open-type 表示
跳转的方式
,必须为
switchTab
2. 导航到非 tabBar 页面
非 tabBar 页面
指的是没有被配置为 tabBar 的页面。
在使用 <navigator> 组件跳转到普通的非 tabBar 页面时,则需要指定
url
属性和
open-type
属性,其中:
⚫
url 表示要跳转的
页面的地址
,必须以
/
开头
⚫
open-type 表示
跳转的方式
,必须为
navigate
注意:为了简便,在导航到非 tabBar 页面时,
open-type=
"
navigate
"
属性
可以省略
。
3. 后退导航
如果要后退到上一页面或多级页面,则需要指定 open-type 属性和 delta 属性,其中:
⚫
open-type
的值必须是
navigateBack
,表示要进行后退导航
⚫
delta
的值必须是
数字
,表示要后退的层级
示例代码如下:
注意:为了简便,如果只是后退到上一页面,则可以省略 delta 属性,因为其默认值就是 1。
1.2.2页面导航 - 编程式导航
1. 导航到 tabBar 页面
调用
wx.switchTab(
Object object
)
方法,可以跳转到 tabBar 页面。其中 Object
参数对象
的属性列表如下:
2. 导航到非 tabBar 页面
调用
wx.navigateTo(
Object object
)
方法,可以跳转到非 tabBar 的页面。其中 Object
参数对象
的属性列表如下:
3. 后退导航
调用
wx.navigateBack(
Object object
)
方法,可以返回上一页面或多级页面。其中 Object
参数对象
可选的属性列表如下:
1.3页面导航 - 导航传参
1.3.1声明式导航传参
navigator 组件的 url 属性用来指定将要跳转到的页面的路径。同时,
路径的后面还可以携带参数
:
⚫
参数
与
路径
之间使用
?
分隔
⚫
参数键
与
参数值
用
=
相连
⚫
不同参数
用
&
分隔
1.3.2编程式导航传参
调用
wx.navigateTo(
Object object
)
方法跳转页面时,也可以携带参数
1.3.3 在 onLoad 中接收导航参数
通过
声明式导航传参
或
编程式导航传参
所携带的参数,可以直接在
onLoad 事件
中直接获取到
2.页面事件 - 下拉刷新事件
2.1 什么是下拉刷新
下拉刷新
是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而
重新加载页面数据
的行为。
2.2启用下拉刷新
启用下拉刷新有两种方式:
① 全局开启下拉刷新
⚫
在 app.json 的 window 节点中,将 enablePullDownRefresh 设置为 true
② 局部开启下拉刷新
⚫
在页面的 .json 配置文件中,将 enablePullDownRefresh 设置为 true
在实际开发中,推荐使用第 2 种方式,
为需要的页面单独开启下拉刷新的效果
。
2.3 配置下拉刷新窗口的样式
在全局或页面的 .json 配置文件中,通过
backgroundColor
和
backgroundTextStyle
来配置下拉刷新窗口
的样式,其中:
⚫
backgroundColor
用来配置下拉刷新
窗口的背景颜色
,仅支持16 进制的颜色值
⚫
backgroundTextStyle
用来配置下拉刷新
loading 的样式
,仅支持 dark 和 light
2.4 监听页面的下拉刷新事件
在页面的 .js 文件中,通过
onPullDownRefresh()
函数即可监听当前页面的下拉刷新事件。
2.5停止下拉刷新的效果
当处理完下拉刷新后,下拉刷新的 loading 效果会一直显示,
不会主动消失
,所以需要手动隐藏下拉刷新的 loading 效果。此时,调用
wx.stopPullDownRefresh()
可以停止当前页面的下拉刷新。实例代码如下:
3.页面事件 - 上拉触底事件
3.1 什么是上拉触底
上拉触底
是移动端的专有名词,通过手指在屏幕上的上拉滑动操作,从而
加载更多数据
的行为。
3.2监听页面的上拉触底事件
在页面的 .js 文件中,通过
onReachBottom()
函数即可监听当前页面的上拉触底事件。示例代码如下:
4.生命周期
4.1什么是生命周期
我们可以把每个小程序运行的过程,也概括为生命周期:
⚫
小程序的
启动
,表示
生命周期的开始
⚫
小程序的
关闭
,表示
生命周期的结束
⚫
中间小程序运行的过程,就是小程序的生命周期
4.2生命周期的分类
在小程序中,生命周期分为两类,分别是:
①
应用生命周期
⚫
特指小程序从启动 -> 运行 -> 销毁的过程
②
页面生命周期
⚫
特指小程序中,每个页面的加载 -> 渲染 -> 销毁的过程
4.3什么是生命周期函数
生命周期函数
:是由小程序框架提供的
内置函数
,会伴随着生命周期,
自动按次序执行
。
生命周期函数的作用
:允许程序员
在特定的时间点
,
执行某些特定的操作
。例如,页面刚加载的时候,可以在
onLoad 生命周期函数中初始化页面的数据。
注意:
生命周期
强调的是
时间段
,
生命周期函数
强调的是
时间点
。
4.4 生命周期函数的分类
小程序中的生命周期函数分为两类,分别是:
①
应用的生命周期函数
⚫
特指小程序从启动 -> 运行 -> 销毁期间依次调用的那些函数
②
页面的生命周期函数
⚫
特指小程序中,每个页面从加载 -> 渲染 -> 销毁期间依次调用的那些函数
5.WXS 脚本 - 概述
5.1 什么是 wxs
WXS
(WeiXin Script)是
小程序独有的一套脚本语言
,结合 WXML,可以构建出页面的结构。
5.2 wxs 的应用场景
wxml 中无法调用在页面的 .js 中定义的函数
,但是,wxml 中可以调用 wxs 中定义的函数。因此,小程序中 wxs 的
典型应用场景
就是“
过滤器
”。
5.3WXS 脚本 - 基础语法
1. 内嵌 wxs 脚本
wxs 代码可以编写在 wxml 文件中的
<wxs>
标签内,就像 Javascript 代码可以编写在 html 文件中的 <script> 标签内一样。 wxml 文件中的每个 <wxs></wxs> 标签,
必须提供 module 属性
,用来指定
当前 wxs 的模块名称
,方便在 wxml 中访问模块中的成员:
2. 定义外联的 wxs 脚本
wxs 代码还可以编写在以 .wxs 为后缀名的文件内,就像 javascript 代码可以编写在以 .js 为后缀名的文件中 一样。示例代码如下:
3. 使用外联的 wxs 脚本
在 wxml 中引入外联的 wxs 脚本时,
必须
为 <wxs> 标签添加
module
和
src
属性,其中:
⚫
module
用来指定模块的名称
⚫
src
用来指定要引入的脚本的路径,且
必须是相对路径
示例代码如下: