小程序 返回上一级 修改上级页面数据

2018-11-01 14:43:27
286
Wecha App Javascript

小程序在使用navigateTo之类跳转页面的时候,我们可以将数据以get的方式带入到下一个页面去,但是往往有需求就是 我在下一个页面操作完成以后 我在返回上一级页面 需要把上级页面的某个值改变了,这个时候怎么办呢?


咳咳。有两个办法


1:上级页面使用 onShow


    在上级页面定义onShow生命周期,不论你从下级页面返回 还是进入的时候 都会加载新数据,


    但是这样子有个不好的地方 每次进入页面 都会刷新 有时候在网络环境不好的情况下 刷新可以延迟,导致用户体验不是很好


    所以 该方法我不是很推荐使用



2:获取上一级页面对象

    

    小程序提供了一个方法 getCurrentPages()


    getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。


    

    注意:

    • 不要尝试修改页面栈,会导致路由以及页面状态错误。

    • 不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。


我们尝试一下 看看 会打印出什么东西


onShow:function(){
    console.log(getCurrentPages())
}


image.png


根据官方说的 最后一个为当前页 ,第一个为最初级页面


因此 我们获取 上一页的话 只需要

let page = getCurrentPages();

console.log(page[page.length-2])


其他的方法 以此类推即可




最新评论
总共 0 条评论
还没有评论,快来抢沙发吧!