0

0

微信小程序页面间传递数据的几种方法

青灯夜游

青灯夜游

发布时间:2020-07-13 16:49:24

|

11490人浏览过

|

来源于csdn

转载

微信小程序页面间传递数据的几种方法

微信小程序的开发中,我们会经常遇到页面间数据传递或者相互影响的问题。在实际的开发过程中,可以通过以下几种方法来实现。

使用全局变量

全局变量实际上是定义了一个全局的对象,并在每个页面中引入。

在初始化代码的时候,小程序会读取一个 app.js 的文件,在这里我们可以定义我们所需要的全局变量。

1.jpg

然后在页面中,可以通过 getApp()方法获取到全局应用对象,可以对全局变量进行读取并更改:

2.jpg

由于 app.js 在项目中是用来做基础配置的,因此不建议将很多变量放在这里配置。一般情况下会将一些持久化的常量配置在这里,对于经常需要变动的量不建议用这个方法。

使用本地缓存

本地缓存是微信小程序提供的一个功能,可以将用户产生的数据做本地的持久化,类似于 NoSQL,可以进行读取和修改的操作。

那么在不同的页面之间,如何利用它,进行数据的交互呢?

假设我们在 A 页面保存了用户的信息。

3.jpg

这样做,这个数据就存在了本地。当在 B 页面需要使用的时候,可以直接的获取到数据池中的数据,并进行 CRUD 操作:

4.jpg

需要注意的是,在回到 A 页面的时候,小程序需要重新读取数据。这时候,可以选择放在生命周期的 onShow 中对数据重新加载

父级往子级页面(模板)的数据传递

我们通常会在页面之间进行跳转、重定向的操作。这时候,我们可以选择将部分数据放在 url 里面,并在新页面 onLoad 的时候进行初始化。

5.jpg

在 D 页面中,我们可以这样接收到到所传进来的参数:

7.jpg

wx.navigateTo 和 wx.redirectTo 不允许跳转到 tab 所包含的页面,只能用 wx.switchTab 跳转。需要注意的是,wx.switchTab 中的 url 不能传参数。

WeWedding婚纱影楼小程序
WeWedding婚纱影楼小程序

婚纱影楼小程序提供了一个连接用户与影楼的平台,相当于影楼在微信的官网。它能帮助影楼展示拍摄实力,记录访客数据,宣传优惠活动。使用频率高,方便传播,是影楼在微信端宣传营销的得力助手。功能特点:样片页是影楼展示优秀摄影样片提供给用户欣赏并且吸引客户的。套系页是影楼根据市场需求推出的不同套餐,用户可以按照自己的喜好预定套系。个人中心可以查看用户预约的拍摄计划,也可以获取到影楼的联系方式。

下载

微信新提供的 wx.reLaunch 接口可以传入参数。

另外,在页面中我们通常会用到一些组件模板,因此在父子之间也会有相应的数据传递。

使用 name 属性,作为模板的名字。然后在这里面使用 is 属性,声明需要的使用的模板。

8.jpg

然后将模板所需要的 data 传入,如:

9.jpg

传入模板的除了变量,还可以是事件方法对象。例如,模板中的点击事件,可以传递到使用模板的元素中。

通过获取到页面对象进行数据操作

这个方法的精髓,是通过获取到其他页面的对象原型,然后通过原型方法 setData 对当前对象管理的 data 进行修改,示例如下:

10.jpg

当跳转到下一个页面 F 之后,假定在 F 中有操作需要对 E 中的数据有修改,则可以使用以下方法:

11.jpg

这个方法可以操作页面堆栈里面的页面的数据,可以做到让后一级页面对上级页面群的数据管理。

小结

在微信小程序中有以上并且不局限于以上几种的方式进行页面间数据传递、交互,在实际应用中可以组合使用。比如说:

  • 一些常量,可以交由 app.js 管理;需要持久化的量可以放在本地保存。

  • 涉及到下级页面或者模板元素的数据,可以通过传入参数的方式传入。

  • 后级页面可以通过获取堆栈里的页面对象快速修改上级的数据。

在实际应用中结合使用,可以更好地管理小程序的数据。

推荐:《小程序开发教程

相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1435

2023.10.24

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

73

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

96

2025.09.18

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

991

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

51

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

234

2025.12.29

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

371

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

563

2023.08.10

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

74

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 10.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

PHP课程
PHP课程

共137课时 | 8.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号