微信小程序开发之数据存储 参数传递 数据缓存

发布时间 - 2026-01-11 00:38:01    点击率:

微信小程序开发内测一个月.数据传递的方式很少.经常遇到页面销毁后回传参数的问题,小程序中并没有类似Android的startActivityForResult的方法,也没有类似广播这样的通讯方式,更没有类似eventbus的轮子可用.

现在已知传递参数的方法只找到三种,先总结下.由于正处于内测阶段,文档也不是很稳定,经常修改,目前尚没有人造轮子.

先上GIF:

1.APP.js

我把常用且不会更改的参数放在APP.js的data里面了.在各个page中都可以拿到var app = getApp();

app上就可以拿到存在data中的参数.

2. wx.navigateTo({})中URL携带参数

demo中已经写出:

 wx.navigateTo({
 url: "../newpage/newpage?infofromindex=" + this.data.infofromindex,
 });

页面间传递参数的笔记

3.wx.setStorage(OBJECT) 数据缓存

微信开发文档中的数据缓存方法:

①存储数据

 try {
 wx.setStorageSync('infofrominput', this.data.infofrominput)
 } catch (e) {
 }

②获取数据

 //获取
 wx.getStorage({
  key: 'infofrominput',
  success: function (res) {
  _this.setData({
   infofromstorage: res.data,
  })
  }
 })

key是本地缓存中的指定的 key,data是需要存储的内容.

详情见微信小程序开发文档:文档

贴上代码:

1.index.js

//index.js 
//获取应用实例 
var app = getApp() 
Page({ 
 data: { 
 info: app.data.info, 
 infofromindex: '来自index.js的信息', 
 infofrominput: '' 
 }, 
 onLoad: function () { 
 }, 
 //跳转到新页面 
 gotonewpage: function () { 
 wx.navigateTo({ 
 url: "../newpage/newpage?infofromindex=" + this.data.infofromindex, 
 }); 
 }, 
 //获取输入值 
 searchInputEvent: function (e) { 
 console.log(e.detail.value) 
 this.setData({ infofrominput: e.detail.value }) 
 }, 
 //保存参数 
 saveinput: function () { 
 try { 
 wx.setStorageSync('infofrominput', this.data.infofrominput) 
 } catch (e) { 
 } 
 } 
}) 

2.index.wxml

<!--index.wxml--> 
<view> 
<button style="background-color:#00ff00;margin:20rpx" bindtap="gotonewpage">跳转</button> 
<input style="background-color:#eee;margin:20rpx;height:80rpx" placeholder="请输入需要保存的参数" bindinput="searchInputEvent" /> 
<button style="background-color:#ff0000;margin:20rpx" bindtap="saveinput">存入Storage</button> 
</view> 

3.newpage.js

//newpage.js 
//获取应用实例 
var app = getApp() 
Page({ 
 data: { 
 infofromapp: app.data.infofromapp, 
 infofromindex: '', 
 infofromstorage: '', 
 }, 
 onLoad: function (options) { 
 var _this = this; 
 var infofromindex = options.infofromindex; 
 this.setData({ 
  infofromindex: infofromindex 
 }) 
 //获取 
 wx.getStorage({ 
  key: 'infofrominput', 
  success: function (res) { 
  _this.setData({ 
   infofromstorage: res.data, 
  }) 
  } 
 }) 
 } 
}) 

4.newpage.wxml

<!--newpage.wxml--> 
<view style="width:100%;margin:30rpx">infofromapp:{{infofromapp}}</view> 
<view style="width:100%;margin:30rpx">infofromindex:{{infofromindex}}</view> 
<view style="width:100%;margin:30rpx">infofromstorage:{{infofromstorage}}</view> 

5.app.js

//app.js 
App({ 
 data: { 
 infofromapp: '来自APP.js的信息' 
 }, 
 onLaunch: function () { 
 
 } 
}) 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# 微信小程序  # 传递参数  # 缓存  # 数据存储  # 微信小程序 动态修改页面数据及参数传递过程详解  # 微信小程序实现页面跳转传递参数(实体  # 对象)  # 微信小程序实现传递多个参数与事件处理  # 微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解  # 微信小程序之页面跳转和参数传递的实现  # 微信小程序教程系列之页面跳转和参数传递(6)  # 微信小程序 navigator 跳转url传递参数  # 微信小程序之间的参数传递、获取的操作方法  # 文档  # 内测  # 程序开发  # 应用实例  # 放在  # 一个月  # 不是很  # 我把  # 请输入  # 三种  # 跳转  # 中都  # 贴上  # 正处于  # 就可以  # 跳转到  # 可以拿到  # 回传  # 新页面  # 在各个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 海南网站制作公司有哪些,海口网是哪家的?  如何基于云服务器快速搭建个人网站?  Laravel如何处理文件下载请求?(Response示例)  Laravel模型事件有哪些_Laravel Model Event生命周期详解  jquery插件bootstrapValidator表单验证详解  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  手机网站制作与建设方案,手机网站如何建设?  高端建站如何打造兼具美学与转化的品牌官网?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何在万网开始建站?分步指南解析  黑客入侵网站服务器的常见手法有哪些?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  EditPlus中的正则表达式 实战(2)  javascript如何操作浏览器历史记录_怎样实现无刷新导航  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Python文件流缓冲机制_IO性能解析【教程】  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Python文件操作最佳实践_稳定性说明【指导】  如何用IIS7快速搭建并优化网站站点?  微信小程序 input输入框控件详解及实例(多种示例)  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何在云指建站中生成FTP站点?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  在Oracle关闭情况下如何修改spfile的参数  Android使用GridView实现日历的简单功能  EditPlus中的正则表达式实战(5)  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel如何实现API速率限制?(Rate Limiting教程)  详解jQuery停止动画——stop()方法的使用  昵图网官方站入口 昵图网素材图库官网入口  佛山网站制作系统,佛山企业变更地址网上办理步骤?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  网站制作报价单模板图片,小松挖机官方网站报价?  浅谈Javascript中的Label语句  jQuery中的100个技巧汇总  如何用AI帮你把自己的生活经历写成一个有趣的故事?  音响网站制作视频教程,隆霸音响官方网站?  如何基于云服务器快速搭建网站及云盘系统?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel如何使用Service Container和依赖注入?(代码示例)  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Android利用动画实现背景逐渐变暗  如何用低价快速搭建高质量网站?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】