【微信小程序】页面间参数传递——本地缓存wx.setStorage() 及 wx.getStorage()

微信小程序页面间传值有很多种方法,目前对于初学者所了解的方法大概有以下几种:

  • 页面跳转,依靠跳转的url带参传值

第一种,就是带参传值,比如说你在A页面,需要跳转到B页面并向B页面传递信息

首先我们直接采用<navigator></navigator>组件,这个组件的属性可以自己了解一下,open-type为跳转方式,默认为navigator,当然有redirect,switchTab,reLaunch,navigitorBack,exit(退出小程序,target="miniProgram"时生效),相当于页面导航的那几个API。建议详细阅读微信开放文档,很快就能掌握!

  • 将值设置为全局变量

在需要的页面获取,这种的话就不是很建议使用,因为很多需要传递的值是你需要从后台拿数据的。

  • 页面栈

以栈的形式维护页面与页面之间的关系,遵循栈的原则,先进后出,在微信小程序中有getCurrentPages()函数获取页面栈。

  • 数据本地缓存

这也是本篇着重讲解部分!类似于cookie,localstorage,sessionstorage等本地缓存的方法,只不过微信小程序有它自己的本地缓存API。举例:这里在设置页面的 震动开关 状态,在主页控制是否震动,二者不存在跳转关系,这里就适合使用本地缓存;

将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
在设置界面,对于这个震动开关控制量

  changevib: function(e){ //震动控制
    wx.setStorage({
      key: 'vibison',
      data: e.detail.value
      })
  },

那么在其他页面,就可以直接取用:

viblong: function(){
  let vibison = wx.getStorageSync('vibison')  //取缓存
  this.setData({
    vibison: vibison
  })
if(vibison){     
  wx.vibrateLong()   //手机震动
}

},


以上,希望对入门有帮助。

本示例程序:【专注时钟】


版权声明:本文为qq_41339564原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。