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

 更新时间:2017年04月13日 08:37:38   作者:dzp_coder  
本文主要介绍了微信小程序开发之数据存储、参数传递、数据缓存的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧

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

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

相关文章

  • ES6新特性之Object的变化分析

    ES6新特性之Object的变化分析

    这篇文章主要介绍了ES6新特性之Object的变化,结合具体实例形式分析了ES6中Object对象定义与使用方法的变化,需要的朋友可以参考下
    2017-03-03
  • Echarts直角坐标系x轴y轴属性设置整理大全

    Echarts直角坐标系x轴y轴属性设置整理大全

    直角坐标系的设置指的是网格,坐标轴和区域缩放的配置,下面这篇文章主要给大家介绍了关于Echarts直角坐标系x轴y轴属性设置的相关资料,需要的朋友可以参考下
    2022-11-11
  • JSONP跨域请求

    JSONP跨域请求

    本文主要介绍了jsonp跨域请求的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • 浅析我对JS延迟异步脚本的思考

    浅析我对JS延迟异步脚本的思考

    这篇文章主要介绍了浅析我对JS延迟异步脚本的思考,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)

    浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)

    下面小编就为大家带来一篇浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • JavaScript中好用的数组对象排序方法分享

    JavaScript中好用的数组对象排序方法分享

    在日常工作中,我们经常需要对数组对象进行排序,尤其是在处理数据可视化需求中。本文将介绍一些简单而又实用的方法,帮助你实现对数组对象的某几个 key 进行排序
    2023-05-05
  • javascript 新闻切换技术

    javascript 新闻切换技术

    javascript 新闻切换技术...
    2007-12-12
  • js面试题之异步问题的深入理解

    js面试题之异步问题的深入理解

    这篇文章主要给大家介绍了关于js面试题之异步问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • js 实现菜单左右滚动显示示例介绍

    js 实现菜单左右滚动显示示例介绍

    菜单左右滚动显示的实现方法有很多,在本文将为大家介绍下如何使用js实现,需要的朋友可以参考下,希望对大家有所帮助
    2013-11-11
  • JavaScript 拖拉时间之drag案例详解

    JavaScript 拖拉时间之drag案例详解

    这篇文章主要介绍了JavaScript 拖拉时间之drag案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09

最新评论