收藏
回答

父页面跳转到子页面,子页面进行操作之后跳回父页面,如何将子页面的值也传给父页面?

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 需求 工具 1.02.1804120 1.02.1804120

- 需求的场景描述(希望解决的问题)

前两天第一次接触微信小程序,一直靠百度在写,但是今天真的很希望有大佬能教一教!总是一点小问题卡着浪费太多时间了。

现在有“我的”页面,在“我的”页面有登录入口,可以进入“登录”页面,执行完登录操作之后,跳转到“我的”

页面。这里希望把username相关的信息也传递到“我的”页面。试过onload方法,只会在我第一次进入“我的”页面执行,不成功。查到可以在“登录”页面用getCurrentPages()获取当前页面路由栈的信息,然后得到上一页面,这样

var pages = getCurrentPages();

var currPage = pages[pages.length - 1];   //当前页面

var prevPage = pages[pages.length - 2];  //上一个页面

然后再prevPage.setData,可是我不知道具体怎么在上一个页面得到数据,我也没查到这个setData怎么用。

有懂得会的麻烦热心的赐教一下!万分感激!


回答关注问题邀请回答
收藏

7 个回答

  • 王晓敏
    王晓敏
    2018-04-17

    非常感谢!已经用全局方式解决了!感谢!

    2018-04-17
    有用
    回复
  • 非思
    非思
    2018-04-17

    出了onload,onshow里面也是可以拿的

    2018-04-17
    有用
    回复
  • 非思
    非思
    2018-04-17

    这样做的就是 ,onload里面只是存值,

    取值在任意位置都可以去,

    2018-04-17
    有用
    回复
  • 王晓敏
    王晓敏
    2018-04-16

    要在onload里面吗?可是我首先在“我的”页面的时候onload就已经执行了,从“登录”页面回到“我的”页面的时候不会再执行onload了,这样会不会还是没有

    2018-04-16
    有用
    回复
  • 非思
    非思
    2018-04-16

    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的页面参数值
    }
     
    })


    2018-04-16
    有用
    回复
  • 王晓敏
    王晓敏
    2018-04-16

    现在决定用全局变量做的试试,可不可以教下如何使用?

    2018-04-16
    有用
    回复
  • 非思
    非思
    2018-04-16

    A --> B   B --> A ? 页面间传值方案 1.  页面传值通常就是onload 通过url传值

    2.  共有变量传值

        1. 如果值比较多,可以通过storage传值。

        2. App 全局变量也可以传值




    2018-04-16
    有用
    回复
登录 后发表内容