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

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

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

先上GIF:

1.APP.js

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

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

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

demo中已经写出:

rush:js;"> wx.navigateto({ url: "../newpage/newpage?infofromindex=" + this.data.infofromindex,});

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

文档中的数据缓存方法:

①存储数据

rush:js;"> try { wx.setStorageSync('infofrominput',this.data.infofrominput) } catch (e) { }

获取数据

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

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

详情见微信小程序开发文档:nofollow" target="_blank" href="https://mp.weixin.qq.com/debug/wxadoc/dev/api/data.html#wxgetstorageinfosync">文档

贴上代码:

1.index.js

rush: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

rush:xml;">

3.newpage.js

rush: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

rush:xml;">

5.app.js

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

}
})

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

相关文章

开发微信小程序的用户授权登录功能
小程序开发页面如何实现跳转?
浅谈小程序开发中蓝牙连接错误分析及解决方法
什么是小程序?它有哪些功能?
如何配置小程序开发项目结构?(教程)
怎么把自己的店加入小程序