微信小程序 第四节课

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>

相关推荐
然后就去远行吧1 小时前
小程序 wxml 语法 —— 38 setData() - 修改数组类型数据
小程序
云深不知处㊣1 小时前
【社交+陪玩服务】全场景陪玩系统源码 小程序+H5双端 社群互动+即时点单+搭建教程
android·小程序·社交源码·找搭子系统源码·陪玩系统源码
然后就去远行吧2 小时前
小程序事件系统 —— 33 事件传参 - data-*自定义数据
小程序
然后就去远行吧2 小时前
小程序事件系统 —— 32 事件系统 - 事件分类以及阻止事件冒泡
小程序
窝窝和牛牛4 小时前
记录小白使用 Cursor 开发第一个微信小程序(一):注册账号及下载工具(250308)
微信小程序·小程序
朱剑君5 小时前
Python写一个查星座的小程序,适合初学者练手——字典和if语句练习
python·小程序
内向的小农8 小时前
【微信小程序 onTabItemTap:精准监听 TabBar 点击事件】
微信小程序·小程序
小胖墩有点瘦11 小时前
基于RNN+微信小程序+Flask的古诗词生成应用
微信小程序·小程序·flask
java1234_小锋12 小时前
[免费]微信小程序(图书馆)自习室座位预约管理系统(SpringBoot后端+Vue管理端)(高级版)【论文+源码+SQL脚本】
微信小程序·自习室·java毕业设计·自习室预约·小程序自习室
帅次13 小时前
Flutter:StatelessWidget vs StatefulWidget 深度解析
android·flutter·ios·小程序·swift·webview·android-studio