当前位置:首页 > 日记 > 正文

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

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

微信小程序开发内测一个月.数据传递的方式很少.经常遇到页面销毁后回传参数的问题,小程序中并没有类似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 () {   } }) 

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

相关文章

微信公众平台如何添加上传视频微信

微信公众平台如何添加上传视频微信

方法,上传视频,微信公众平台,微信公众号,视频,  在微信公众平台发表文章,有时候需要添加上传视频怎么办?如何操作呢?下面是小编为大家精心整理的微信公众号添加视频的方法,仅供参考。微信公众平台添加上传视频的方法微信公众号添加视频步骤1…

word导出jpg格式不失真

word导出jpg格式不失真

格式,不失真,电脑软件,word,jpg,怎么把word图片导出jpg格式不失真呢?这里小编只用到很简单的技巧,就可以快速的把word文档里的图片批量导出,接下来小编为大家图解word图片导出jpg格式不失真的方法。方法步骤如下:1、打开Word,将文章导进去,单击o…

php获取/传参的值简单方法

php获取/传参的值简单方法

方法,简单,电脑软件,php,通过输出$GLOBALS可以看到'/'后的参数都存在于$_SERVER['PATH_INFO']里;声明一个数组来获取我们在'/'后传递的参数$arr = explode('/', $_SERVER['PATH_INFO']);//print_r($arr)查看详细信息以上这篇php获…

基于win2003虚拟机中apache服务器

基于win2003虚拟机中apache服务器

服务器,虚拟,机中,电脑软件,apache,虽然在win2003配置PHP有点非主流,但你还是要会怎么弄。你也可以将本文的虚拟机看成是服务器,宿主机看成是客户端。不像Linux系统,由于win2003有IIS的存在,占有了固有的80的端口,在win2003虚拟机中配置的apache…

photoshop快捷键命令大全

photoshop快捷键命令大全

命令大全,快捷键,电脑软件,photoshop,Adobe Photoshop是电影、视频和多媒体领域的专业人士, 使用 3D 和动画的图形和 Web 设计人员, 以及工程和科学领域的专业人士的理想选择。而灵活使用软件快捷键则是学好软件的基础。工具箱(多种工具共…

用3个方法把复杂的合成图拆分离析

用3个方法把复杂的合成图拆分离析

拆分,方法,合成图,电脑软件,很多朋友把合成想得特别复杂,一想到做合成就觉得特别高端,难以完成。其实只要了解基本的方法,后续制作起来并不难。今天这篇好文,用3个方法把复杂的合成图拆分离析,揭开这些大作背后的秘密。最后附有实例操作,简单易懂…

ps绘制炫酷质感的拟物化跑车教程

ps绘制炫酷质感的拟物化跑车教程

教程,绘制,质感,跑车,电脑软件,想要临摹这个作品,首先要对这幅画进行分析。看到这个车会觉得它有真实感,但是在车窗内的物体又有点插画的感觉。分析这个车的亮部和暗部又会发现除了来自前方的一个主光源以外,也有为了凸显车的质感而添加的很多…

微信小程序实现拖拽 image 触摸事

微信小程序实现拖拽 image 触摸事

事件监听,拖拽,实例,程序,电脑软件,微信小程序实现拖拽 image 触摸事件监听的实例需要做个浮在scroll-view之上的button.尝试了一下.实现效果图:Android中也会有类似移动控件的操作.思路差不多.获取到位移的X Y 的变量,给控件设置坐标.1.ind…

WEB服务器安全必做基础

WEB服务器安全必做基础

服务器安全,必做,基础,电脑软件,WEB,一 开启系统自带的防火墙 别忘了在例外里:勾上远程桌面,这是远程管理的端口,要不就远程连不上了,再添加80端口,这是iis默认端口,用户访问用的。再点确定。二 iis设置,选中&ldquo;网站&rdquo;(是指就叫网…

PS合成一个自然提炼萃取的精油海报

PS合成一个自然提炼萃取的精油海报

海报,自然,电脑软件,PS,这篇教程教的PS图合成学习者使用PS合成一个自然提炼萃取的精油海报,教程通过把精油合成到森林里,像大受众传达精油的生态和自然提炼卖点,挺不错的。教程之分享设计思路,对于具体的制作过程只是提及了其中的几个重要知识…

html空格代码怎么打出来

html空格代码怎么打出来

空格,代码,电脑软件,html,在html中,输入多个空格也会被识别为一个,那么想要输入多个空格可以使用空格代码。那么,空格代码怎么打呢?很简单,只要输入代码 即可。1.Html空格字符代码: 为html空格字符代码,由&ldquo;&+n+b+s+p+;&rdquo;组成,记住最…

怎样使用excel画曲线图使用excel画

怎样使用excel画曲线图使用excel画

步骤,方法,曲线图,电脑软件,excel,  excel是日常办公必不可少的工具之一,其有很强大的功能。今天给大家分享一下怎样使用excel绘制曲线图。这个功能能够根据数据绘制出不同类型的图,如果对曲线图要求不高可以用excel代替matlab来画数据分析…