- 需求的场景描述(希望解决的问题)
前两天第一次接触微信小程序,一直靠百度在写,但是今天真的很希望有大佬能教一教!总是一点小问题卡着浪费太多时间了。
现在有“我的”页面,在“我的”页面有登录入口,可以进入“登录”页面,执行完登录操作之后,跳转到“我的”
页面。这里希望把username相关的信息也传递到“我的”页面。试过onload方法,只会在我第一次进入“我的”页面执行,不成功。查到可以在“登录”页面用getCurrentPages()获取当前页面路由栈的信息,然后得到上一页面,这样
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
var prevPage = pages[pages.length - 2]; //上一个页面
然后再prevPage.setData,可是我不知道具体怎么在上一个页面得到数据,我也没查到这个setData怎么用。
有懂得会的麻烦热心的赐教一下!万分感激!
非常感谢!已经用全局方式解决了!感谢!
出了onload,onshow里面也是可以拿的
这样做的就是 ,onload里面只是存值,
取值在任意位置都可以去,
要在onload里面吗?可是我首先在“我的”页面的时候onload就已经执行了,从“登录”页面回到“我的”页面的时候不会再执行onload了,这样会不会还是没有
page内 可以通过getApp获取全局变量app app上可以定义一个属性用来传值或者存储值
可以编辑一个工具
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的页面参数值
}
})
现在决定用全局变量做的试试,可不可以教下如何使用?
A --> B B --> A ? 页面间传值方案 1. 页面传值通常就是onload 通过url传值
2. 共有变量传值
1. 如果值比较多,可以通过storage传值。
2. App 全局变量也可以传值