微信小程序开发中数据存储、参数传递和数据缓存的介绍

互联网 18-6-27
本文主要介绍了微信小程序开发之数据存储、参数传递、数据缓存的相关知识。具有很好的参考价值。下面一起来看下吧

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

微信小程序中定义全局数据和函数复用及模版的介绍

微信小程序新增的拖动组件movable-view的使用介绍

以上就是微信小程序开发中数据存储、参数传递和数据缓存的介绍的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 数据存储
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:微信小程序实现皮肤的夜间模式

相关资讯