黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

小程序页面间传递数据的方式

来源:黔优媒体网   时间:2024-09-19

最近在做小程序项目,发现小程序的页面间经常需要传递一些数据。根据自己的了解和熟悉,针对不同的数据要求,总结到有几种不同的传数据方式,下面做一下简单的介绍归纳。

第一种:页面跳转时通过url传递

使用wx.navigateTo 与 wx.redirectTo 的时候,可以将部分数据放在 url 里面,并在新页面 onLoad 的时候获取且初始化。

//pageA.js
// Navigate
wx.navigateTo({
  url: '../pageB/pageB?name=lin amp;gender=male',
// Redirect
wx.redirectTo({
  url: '../pageB/pageB?name=lin amp;gender=male',
// pageB.js
Page({
  onLoad: function(option){
    console.log(option.name + 'is' + option.gender);
    this.setData({
      option: option
    });
})

需要注意的问题:

使用wx.navigateTo 与 wx.redirectTo时,不允许跳转到 tab 所包含的页面; onLoad只执行一次;

适用:
这种方式一般适用于少数页面之间需要少量数据传递,如B页面需要A页面中的1-2个数据等等。

第二种:使用全局变量来传递

在 app.js 文件中定义全局变量 globalData,旧页面将要传递的数据赋值存放在里面,新页面调用全局变量获取传递数据值。

// app.js
App({
     // 全局变量
  globalData: {
    name: null
//pageA.js
getApp().globalData.name =  lin 

使用的时候,直接使用 getApp() 拿到存储的信息。

适用:
这种方式一般适用于多个页面或者全部页面都需要获取使用同一个数据,比如一开始进入首页就获取到的用户信息等;

第三种:使用本地缓存

使用小程序中的本地缓存Storage,旧页面将传递数据存入缓存中,新页面通过调用获取缓存的API得到数据。

//pageA.js
wx.setStorageSync('sessionId', res.sessionId);

Storage每次存入会覆盖掉原来该 key 对应的内容。 如果用户主动删除小程序或因存储空间原因被系统清理,Storage中数据将被清除。 单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。

适用:
这种方式一般适用于即使小程序退出然后再重新进入,也要保留的数据,类似于登录状态的保留等。

推荐教程:《微信小程序》

以上就是小程序页面间传递数据的方式的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:小程序页面间传递数据的方式;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!