微信小程序学习笔记:Page()(微信小程序page中的data)
zhezhongyun 2025-05-02 22:37 54 浏览
Page()用来注册小程序中的一个页面,接受一个Object类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。Page方法的object参数主要构成如下:
属性 | 说明 |
data | data是页面渲染使用的初始数据。页面加载时data将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组。渲染层通过WXML对数据进行绑定。 |
options | 页面的组件选项,同Component 构造器中的options。 |
behaviors | 类似于mixins和traits的组件间代码复用机制,参见behaviors。 |
onLoad(Object) | 页面加载时触发。一个页面只会调用一次,可以在onLoad的参数中获取打开当前页面路径中的参数。 |
onShow | 页面显示/切入前台时触发。 |
onReady | 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面内容进行设置的API如wx.setNavigationBarTitle,请在onReady之后进行。 |
onHide | 页面隐藏/切入后台时触发。如wx.navigateTo或底部tab切换到其他页面,小程序切入后台等。 |
onUnload | 页面卸载时触发。如wx.redirectTo或wx.navigateBack到其他页面时。 |
onPullDownRefresh | 监听用户下拉刷新事件。需要在app.json的window选项中或页面配置中开启enablePullDownRefresh。可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。 |
onReachBottom | 监听用户上拉触底事件。可以在app.json的window选项中或页面配置中设置触发距离onReachBottomDistance。在触发距离内滑动期间,本事件只会被触发一次。 |
onShareAppMessage(Object) | 监听用户点击页面内转发按钮(button组件open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮,参数from(String):转发事件来源(button:页面内转发按钮,menu:右上角转发菜单),target(Object):如果from值是button,则 target 是触发这次转发事件的button,否则为undefined,webViewUrl(String):页面中包含web-view组件时,返回当前web-view的url,此事件处理函数需要return一个Object,用于自定义转发内容,title:转发标题,path:转发路径(必须是以 / 开头的完整路径),imageUrl:自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。promise:如果该参数存在,则以 resolve 结果为准,如果三秒内不 resolve,分享会使用上面传入的默认参数。 |
onShareTimeline | 监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容。只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮,事件处理函数返回一个Object,用于自定义分享内容,不支持自定义页面路径,title:自定义标题,即朋友圈列表页上显示的标题,query:自定义页面路径中携带的参数,如path?a=1&b=2的“?”后面部分,imageUrl:自定义图片路径,可以是本地文件或者网络图片。支持 PNG 及 JPG,显示图片长宽比是 1:1。 |
onAddToFavorites(Object) | 监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容。参数webViewUrl(String)页面中包含web-view组件时,返回当前web-view的url。此事件处理函数需要 return 一个 Object,用于自定义收藏内容,title:自定义标题,imageUrl:自定义图片,显示图片长宽比为1:1,query:自定义query字段。 |
onPageScroll(Object) | 监听用户滑动页面事件。参数scrollTop(Number):页面在垂直方向已滚动的距离(单位px)。 |
onResize(Object) | 小程序屏幕旋转时触发,显示区域指小程序界面中可以自由布局展示的区域,默认情况下小程序显示区域的尺寸自页面初始化起就不会发生变化。但有两种方式可以改变:在手机上启用屏幕旋转支持(在app.json的window段中设置"pageOrientation":"auto",或在页面json文件中配置"pageOrientation":"auto",pageOrientation还可以被设置为 landscape,表示固定为横屏显示)、在iPad上启用屏幕旋转支持(在app.json中添加"resizable":true,在iPad上不能单独配置某个页面是否支持屏幕旋转)。有时对于不同尺寸的显示区域,页面的布局会有所差异。此时可以使用media query来解决大多数问题。在 WXML 中,可以使用 match-media 组件来根据 media query 匹配状态展示、隐藏节点。此外,可以在页面或者自定义组件 JS 中使用 |
onTabItemTap(Object) | 点击 tab 时触发,参数index(String):被点击tabItem的序号,从0开始,pagePath(String):被点击tabItem的页面路径,text(String):被点击tabItem的按钮文字。 |
onSaveExitState | 每当小程序可能被销毁之前,页面回调函数onSaveExitState会被调用,可以进行退出状态的保存。 |
其他 | 可以添加任意的函数或数据到Object参数中,在页面的函数中用this可以访问。这部分属性会在页面实例创建时进行一次深拷贝。 |
相关推荐
- Excel高效技巧:批量合并重复数据的实用指南
-
在日常数据处理中,我们常会遇到需要合并相邻重复单元格的场景。无论是整理分类标签、统计重复项还是优化报表格式,手动逐个合并不仅耗时且容易出错。本文将详细介绍三种专业高效的批量合并方法,助您轻松应对各种复...
- 自主研发高速动车组列车又添新成员(新时代画卷)
-
数据来源:国铁集团">数据来源:国铁集团CR400AF—S型列车驶过重庆。龙帆摄(人民视觉)">CR400AF—S型列车驶过重庆。龙帆摄(人民视觉)CR400BF—GZ型列车行驶在京...
- 福彩双色球幻圆图的VBA程序(第一部分)
-
很多朋友喜欢玩福彩双色球彩票,都知道下面的这张图——福彩双色球红球幻圆图和篮球幻方图。图2是福彩双色球2024104期(红色)和2024105期(黄色)的幻圆图。图3是福彩双色球2024105期(红色...
- 技巧 | 往MCP服务器添加提示词模板
-
在我的上一篇文章[1]中,我已经构建了一个本地MCP服务器并向其添加了一些工具。在本文中,我们将向该MCP服务器添加提示词。这是如同上一篇博客的文件结构。但在这里,我为此创建了两个新文件。.├──...
- Avalonia日志组件实现与优化指南
-
背景Avalonia目前没有富文本框可实现日志输出显示,但提供了SelectableTextBlock控件可以替换,这是站长实现的一个日志组件效果:可展示日志时间、日志级别、日志详细内容等,后台除输...
- vim编辑器最后几行@代表什么意思
-
使用vim编辑文本时,屏幕下方会出现一些@符号,这些符号代表什么意思?当vim设置了wrap属性时,若一行太长则就会发生折行现象,此时一个逻辑行就会显示多个屏幕行,如下图由于文件的第2行太长,一个真实...
- 浅色AI云食堂APP完整代码(二)
-
以下是整合后的浅色AI云食堂APP完整代码,包含后端核心功能、前端界面以及优化增强功能。项目采用Django框架开发,支持库存管理、订单处理、财务管理等核心功能,并包含库存预警、数据导出、权限管理等增...
- QML控件:TextInput, TextField, TextEdit, TextArea用法及自定义
-
本文主要介绍基本元素TextInput,TextField,TextEdit,TextArea等的基本属性。Textlnput与TextField为行编辑控件,TextEdit与T...
- WPF - 10.特殊容器控件
-
摘要这里我们要介绍的特殊容器空间是ScrollViewer,该控件与其他控件不同的是,可以支持滚动显示容器内的元素。下面我们举例说明如何在WPF中使用ScrollViewer控件。新建一个WPF程...
- rhino6.0 python中ETO的组件案例
-
1.按钮组件按钮几乎放置在每个对话框上。创建一个新的按钮很简单。使用forms.Button并指定Text显示在按钮面上。除了创建新按钮外,通常还通过.Click事件附加一个操作。使用+=语法,如下...
- Rhino6.0 窗口开发使用角本说明
-
第1个:生成窗口代码第2点:Eto界面主要由Dialog(主程序界面)、Layout(界面布局)和Controls(控件)三个部分构成,逻辑简单且清晰。这个脚本被分为三个主要部分。该import...
- 手把手教你搭建属于自己的服务器!
-
最近总是想搭建自己的网站,奈何皮夹里空空如也,服务器也租不起,更别说域名了。于是我就寻思能否自己搭建个服务器,还不要钱呢?还真行!!!经过几天的冲浪,我发现有两个免费的建站工具:Apache和Ng...
- HEAT杂志《欧美猛男》排行!“雷神”居然没进前三!
-
提到猛男的必备条件,应该就是要有着让人看了会流口水的大块肌肉,而一说到猛男,小编第一个想到的就是spanstyle="text-transform:none;background-color:...
- Power Query 表格列历遍函数Table.TransformColumns函数
-
PowerQuery提取数字应该是非常方便的,EH有这样一道题:一看到这题首先想的是PowerQuery,可能中毒有点深,思路挺简单的,PowerQuery有一个从数字到非数字的分列分列后再提取...
- 自学前端踩了30个坑,终于整理出这份新手避坑指南
-
这是我在自学前端的第37天,对着一个简单的HTML页面卡了整整一下午。不是逻辑错误,不是语法问题,只是我不知道为什么,一个div死活居中不了。那时候的我,以为前端就是写写页面、调调样式,直到后来才...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)
- opacity 属性 (32)