微信小程序页面之间传参问题:wx.navigateBack返回上一页面如何传参?JS如何通过url传递并接收json类型参数?
前言
页面之间传参安全性不强,但有时对于无需加密的数据这种传输方式难以避免。首先对于具有前后关系的页面,如何在后一个页面交互属性改变之后返回的上一级页面也跟着改变?其次,在需要跳转页面的场景中,如果需要传的参数是一个json类型,该如何传参和接收参数呢?
一、返回前一页面并传参
在小程序中所有页面的路由全部由框架进行管理,框架以栈的形式维护了当前的所有页面,就是我们所说的页面栈。如果直接采用路由切换的方式,页面栈中会存在旧的页面,当用户点击返回,仍然是旧的数据,并且用户体验很差。
可以通过getCurrentPages()函数获取页面栈的实例,该函数返回值以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。直接调用上一个页面对象的setData()方法,把数据存到上一个页面中去。
var pages = getCurrentPages();
var currPage = page