微信小程序getCurrentPages()函数详解

  • A+
所属分类:轻松一刻
摘要

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

微信小程序getCurrentPages()函数详解

微信小程序getCurrentPages()函数详解

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

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

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

熟悉页面栈后才能更好的使用getCurrentPages(),下面将列举几种常用的使用场景:

1、利用页面栈的长度

例如:进入小程序非默认首页时,需要提供返回首页的按钮或者执行其它事件

 1   onShow() { 2     let pages = getCurrentPages(); //当前页面栈 3     if (pages.length == 1) { 4      //todo 5     } 6   },

 

2、跨页面赋值

1

2

3

4

5

let pages = getCurrentPages();//当前页面栈

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

prevPage.setData({

    //直接给上移页面赋值

});

  

3、页面跳转后自动刷新

 //举例

1

2

3

4

5

6

7

8

wx.switchTab({

         url: '../index/index',

         success: function (e) {

             var page = getCurrentPages().pop(); //当前页面

             if (page == undefined || page == nullreturn;

             page.onLoad(); //或者其它操作

         }

     })

  

4、获取当前页面相关信息

 

1

2

3

4

5

6

7

8

let pages = getCurrentPages(); //当前页面栈

 //当前页面为页面栈的最后一个元素

 let prevPage = pages[pages.length - 1];//当前页面

 or

 // pop() 方法用于删除并返回数组的最后一个元素

 let prevPage = pages.pop();//当前页面

  

 console.log( prevPage.route) //举例:输出为‘pages/index/index’

  • 我的微信公众号
  • 扫一扫关注
  • weinxin
  • 我的新浪微博号
  • 扫一扫关注
  • weinxin
小辉博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: