微信小程序 第四节课

Page

注册小程序中的一个页面。接受一个 Object 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。

参数

属性 类型 默认值 必填 说明
data Object 页面的初始数据
onLoad function 生命周期回调---监听页面加载
onShow function 生命周期回调---监听页面显示
onReady function 生命周期回调---监听页面初次渲染完成
onHide function 生命周期回调---监听页面隐藏
onUnload function 生命周期回调---监听页面卸载
onPullDownRefresh function 监听用户下拉动作
onReachBottom function 页面上拉触底事件的处理函数
onShareAppMessage function 用户点击右上角转发
onShareTimeline function 用户点击右上角转发到朋友圈
onAddToFavorites function 用户点击右上角收藏
onPageScroll function 页面滚动触发事件的处理函数
onTabItemTap function 当前是 tab 页时,点击 tab 时触发

一 生命周期回调函数

1.1onLoad(Object query)

页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。

参数:

名称 类型 说明
query Object 打开当前页面路径中的参数

1.2onShow()

页面显示/切入前台时触发。

1.3onReady()

页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。

1.4onHide()

页面隐藏/切入后台时触发。 如底部 tab 切换到其他页面,小程序切入后台等。

1.5onUnload()

页面卸载时触发。如wx.redirectTowx.navigateBack到其他页面时。

二 页面事件处理函数

2.1onPullDownRefresh()

监听用户下拉刷新事件。

  • 需要在app.jsonwindow选项中或页面配置中开启enablePullDownRefresh
  • 可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
  • 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

2.2onReachBottom()

监听用户上拉触底事件。

  • 可以在app.jsonwindow选项中或页面配置中设置触发距离onReachBottomDistance
  • 在触发距离内滑动期间,本事件只会被触发一次。

2.3onPageScroll(Object object)

监听用户滑动页面事件。

参数 Object object:

属性 类型 说明
scrollTop Number 页面在垂直方向已滚动的距离(单位px)

注意:请只在需要的时候才在 page 中定义此方法,不要定义空方法。以减少不必要的事件派发对渲染层-逻辑层通信的影响。 注意:请避免在 onPageScroll 中过于频繁的执行 setData 等引起逻辑层-渲染层通信的操作。尤其是每次传输大量数据,会影响通信耗时。

2.4onShareAppMessage(Object object)

听用户点击页面内转发按钮(button 组件 open-type="share")或右上角菜单"转发"按钮的行为,并自定义转发内容。

注意:只有定义了此事件处理函数,右上角菜单才会显示"转发"按钮

参数 Object object:

参数 类型 说明 最低版本
from String 转发事件来源。 button:页面内转发按钮; menu:右上角转发菜单 1.2.4
target Object 如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined 1.2.4
webViewUrl String 页面中包含web-view组件时,返回当前web-view的url 1.6.4

此事件处理函数需要 return 一个 Object,用于自定义转发内容,返回内容如下:

自定义转发内容 基础库 2.8.1 起,分享图支持云图片。

字段 说明 默认值 最低版本
title 转发标题 当前小程序名称
path 转发路径 当前页面 path ,必须是以 / 开头的完整路径
imageUrl 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。 使用默认截图 1.5.0
promise 如果该参数存在,则以 resolve 结果为准,如果三秒内不 resolve,分享会使用上面传入的默认参数

2.5 onTabItemTap( Object object)

点击 tab 时触发

Object 参数说明:

参数 类型 说明 最低版本
index String 被点击tabItem的序号,从0开始 1.9.0
pagePath String 被点击tabItem的页面路径 1.9.0
text String 被点击tabItem的按钮文字 1.9.0

补充知识点

页面栈

框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:

路由方式 页面栈表现
初始化 新页面入栈
打开新页面 新页面入栈
页面重定向 当前页面出栈,新页面入栈
页面返回 页面不断出栈,直到目标返回页
Tab 切换 页面全部出栈,只留下新的 Tab 页面
重加载 页面全部出栈,只留下新的页面

开发者可以使用 getCurrentPages() 函数获取当前页面栈。

建立超链接的知识点

首先确定页面是合法的 打开另一个页面 (你要在这个页面链接到新的页面)里面的wxml文件 ,在view标签下写一个超链接

<navigator url="/pages/message/message">

to message

</navigator>

相关推荐
刘大浪5 小时前
uniapp 小程序 学习(一)
学习·小程序·uni-app
炫彩@之星14 小时前
微信小程序渗透测试指北(附案例)
微信小程序·小程序
换日线°15 小时前
微信小程序生成小程序码缓存删除
微信小程序
—Qeyser17 小时前
让 Deepseek 写电器电费计算器小程序
ai·chatgpt·小程序·deepseek
276695829221 小时前
朴朴超市小程序 sign-v2 分析
java·python·小程序·逆向分析·朴朴超市·sign-v2·朴朴
说私域2 天前
新零售视域下实体与虚拟店融合的技术逻辑与商业模式创新——基于开源AI智能名片与链动2+1模式的S2B2C生态构建
人工智能·小程序·开源·零售
像素之间2 天前
微信小程序中安装vant
微信小程序
java1234_小锋2 天前
[免费]微信小程序音乐播放器(爬取网易云音乐数据)(node.js后端)【论文+源码】
微信小程序·小程序·node.js·音乐播放器·网易云音乐
野盒子2 天前
前端面试题 微信小程序兼容性问题与组件适配策略
前端·javascript·面试·微信小程序·小程序·cocoa
胡斌附体2 天前
uniapp小程序不支持动态组件问题
小程序·uni-app·if-else·动态组件·不支持·编译异常