父页面跳转到子页面,子页面进行操作之后跳回父页面,如何将子页面的值也传给父页面?
- 需求的场景描述(希望解决的问题)
前两天第一次接触微信小程序,一直靠百度在写,但是今天真的很希望有大佬能教一教!总是一点小问题卡着浪费太多时间了。
现在有“我的”页面,在“我的”页面有登录入口,可以进入“登录”页面,执行完登录操作之后,跳转到“我的”
页面。这里希望把username相关的信息也传递到“我的”页面。试过onload方法,只会在我第一次进入“我的”页面执行,不成功。查到可以在“登录”页面用getCurrentPages()获取当前页面路由栈的信息,然后得到上一页面,这样
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
var prevPage = pages[pages.length - 2]; //上一个页面
然后再prevPage.setData,可是我不知道具体怎么在上一个页面得到数据,我也没查到这个setData怎么用。
有懂得会的麻烦热心的赐教一下!万分感激!
7 回复
page内 可以通过getApp获取全局变量appapp上可以定义一个属性用来传值或者存储值
可以编辑一个工具
App({ pageOpts : function (Page,options){ let key = Page.is // 这个用来做KEY值,就是页面当前的路由 let val = options // 这个就是onload时页面传递过来的options; if (val){ // 如果带options,则是值的存储方式 this .__pageOpts__ [key] = val; } // 返回最新的值 return this .__pageOpts__[key]; } }) |
let app = getApp(); Page({ onLoad: function (options){ app.pageOpts( this ,options) // 页面参数值存储 app.pageOpts( /*Page*/ ) // 传递相应的Page,获取对应page的页面参数值 } }) |