微信小程序页面间传值有很多种方法,目前对于初学者所了解的方法大概有以下几种:
页面跳转,依靠跳转的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版权协议,转载请附上原文出处链接和本声明。