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

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

[javascript] view plain copy

  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5. data: {
  6. info: app.data.info,
  7. infofromindex: ‘来自index.js的信息‘,
  8. infofrominput: ‘‘
  9. },
  10. onLoad: function () {
  11. },
  12. //跳转到新页面
  13. gotonewpage: function () {
  14. wx.navigateTo({
  15. url: "../newpage/newpage?infofromindex=" + this.data.infofromindex,
  16. });
  17. },
  18. //获取输入值
  19. searchInputEvent: function (e) {
  20. console.log(e.detail.value)
  21. this.setData({ infofrominput: e.detail.value })
  22. },
  23. //保存参数
  24. saveinput: function () {
  25. try {
  26. wx.setStorageSync(‘infofrominput‘, this.data.infofrominput)
  27. } catch (e) {
  28. }
  29. }
  30. })

2.index.wxml

[html] view plain copy

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

3.newpage.js

[javascript] view plain copy

  1. //newpage.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5. data: {
  6. infofromapp: app.data.infofromapp,
  7. infofromindex: ‘‘,
  8. infofromstorage: ‘‘,
  9. },
  10. onLoad: function (options) {
  11. var _this = this;
  12. var infofromindex = options.infofromindex;
  13. this.setData({
  14. infofromindex: infofromindex
  15. })
  16. //获取
  17. wx.getStorage({
  18. key: ‘infofrominput‘,
  19. success: function (res) {
  20. _this.setData({
  21. infofromstorage: res.data,
  22. })
  23. }
  24. })
  25. }
  26. })

4.newpage.wxml

[html] view plain copy

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

5.app.js

[javascript] view plain copy

  1. //app.js
  2. App({
  3. data: {
  4. infofromapp: ‘来自APP.js的信息‘
  5. },
  6. onLaunch: function () {
  7. }
  8. })
时间: 2024-10-22 14:27:13

微信小程序开发之数据存储 参数传递 数据缓存的相关文章

【微信小程序开发?系列文章六】生命周期和路由

这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程序开发•系列文章四]模块化 [微信小程序开发•系列文章五]主界面 [微信小程序开发•系列文章六]生命周期和路由 整个微信小程序从打开到关闭,整个过程可以分为很多阶段或者说状态,这一整段的过程,我们称之为小程序的生命周期.而周期中的每种不同的状态,到另一个状态的过度和转化,是需要一个触发机制的,这种机

微信小程序开发(一)创建一个小程序Hello World!

开发微信小程序并不是很难,网上有很多小程序开发资料,尤其是微信官方的<小程序开发指南>最详细. 下面是我开发小程序的历程: 第一步,请前往https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 微信开发者工具下载页面根据自己的操作系统下载对应的安装包进行安装. 第二步,打开微信开发者工具,选择新建小程序项目. 红框里面可以选择 测试号 .AppID可以自己去注册.小程序使用js开发的,所以有js开发经验的很快就可以入门并

微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?

原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359 本文由本站halfyawn原创:感谢原创者:如有疑问,请在评论内回复 还是先把问题列出来,让问题来驱动探索: 微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找? 首先分析了一下源码,日志目录应该同NW.JS的应用目录相关,,,查查查,,一直查到NW.JS的C++源码,搞得太复杂,大概知道位置,但还是不确切.决定不往这条线找,换另一条路: 把日志文件修改输出到我指定目录

微信小程序开发本地数据缓存教程

微信小程序开发过程中,本地数据缓存是必不可少的一部分.而且本地数据缓存的用途还挺多的,下面木鱼小铺(https://www.muyu007.cn)就和大家分享一下微信小程序开发本地数据缓存教程,希望对大家有所帮助! 第一步:读写本地数据缓存 微信小程序为了方便开发者缓存数据提供了读写本地数据缓存接口,读本地数据缓存采用的是wx.getStorage/wx.getStorageSync接口,写本地数据缓存的是wx.setStorage/wx.setStorageSync接口.其中以Sync结尾的是

微信小程序开发入门教程

做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先来看看其有哪些官方文档. 微信公众平台开发者文档统一入口为:https://mp.weixin.qq.com/wiki,这里面大部分内容都是以前就有的,微信开发都是基于此份文档. 现在的变化是在这份文档的顶部加了一个“微信公众平台.小程序”的入口,这个入口才就是专门针对微信小程序开发的文档,如下图:

我们的微信小程序开发

基于微信小程序的系统开发准备工作 腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够大大降低开发成本和难度,但也意味着需要掌握整个微信小程序的各种接口功能.应用场景等相关技术点,本篇随笔先从大的方面来介绍微信小程序开发的一些知识,如架构设计.技术路线 .工具准备等方面做一些浅薄的介绍,希望大家也有所收益,有所借鉴,则善莫大焉. 1.小程序的统一架构

微信小程序开发大神牛样本

微信小程序的推出,让很多App开发者忧喜参半.喜的是终于出现了一种全新的应用生态,不必再纠结于高昂开发成本的App:忧的是微信小程序开发人员需要增加学习成本,而非技术人员则更是无从下手开发具体流程如下:  1. 获取微信小程序的 AppID登录微信公众平台,就可以在网站的"设置"-"开发者设置"中,查看到微信小程序的 AppID 了,注意不可直接使用服务号或订阅号的 AppID .2. 创建项目我们需要通过开发者工具,来完成小程序创建和代码编辑.开发者工具安装完成后

微信小程序开发的入门教程

广州微信小程序开发公司(www.dthulian.com)品向科技,下面跟大家详细介绍微信小程序开发的入门教程: 开发前准备: 注册小程序帐号 绑定开发者 登录微信公众平台小程序,进入用户身份- 开发者,新增绑定开发者. 已认证的小程序可以绑定不多于20个开发者.未认证的小程序可以绑定不多于10个开发者. 获取AppID下载并安装开发者工具 下载完成后,使用管理员或者绑定的开发者微信号扫码登录. 一个微信小程序 创建项目 我们需要通过开发者工具,来完成小程序创建和代码编辑. 开发者工具安装完成后

微信小程序开发入门与实践

基础知识---- MINA 框架 为方便微信小程序开发,微信为小程序提供了 MINA 框架,这套框架集成了大量的原生组件以及 API.通过这套框架,我们可以方便快捷的完成相关的小程序开发工作. MINA 框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,因此我们主要聚焦于数据与逻辑上. 响应的数据绑定 框架的核心是一个响应的数据绑定系统. 整个系统分为两块:视图层(View)和逻辑层(App Ser