好记性不如烂笔头,开发中遇到的坑,和大家分享一下吧!今天和大家分享的是小程序开发中遇到的上下级页面传值的问题!
小程序中有导航组件,navigator
<navigator hover-class='none' url="../demo/getval/getval?userAge=20&&userName=jimmy">5、获取上个页面的值</navigator>复制代码
方法一:
navigator 组件有坑存在,才开始开发的时候,点击总有一块小程灰色阴影存在,原来是组件点击时的默认样式,因此我们可以用hover-class去掉默认样式。
跳转路径可以在后面用?分开,里面写参数用字符串拼接,参数与参数之间用&&分割开,在第二个页面取值的时候,直接在onload函数里面打印options就能获取的到
方法二:获取当前页面,在通过当前页面获取上个页面,可以通过页面的prevPage.data来获取需要的参数
let pages = getCurrentPages();//获取当前页面
let prevPage = pages[pages.length - 2];//获取上个页面
prevPage.setData({userAge:20,userName:jimmy})调用上个页面的setData方法进行赋值
复制代码
方法三:数据的缓存,如果是高频率的使用,我不建议使用,这样会减慢小程序的运行速度,影响用户的体验,缓存一下用户信息偶尔调用还是可以的。这个可以全局使用的!
可以在任何js页面设置这个缓存。var userName = wx.setStorageSync('userName', 'Jimmy');var userAge = wx.setStorageSync('userAge', 20)
可以在任何js页面取这个缓存。
var userName = wx.getStorageSync('userName', 'Jimmy');var userAge = wx.getStorageSync('userAge', 20)
复制代码