小程序页面栈知识




小程序的每个页面都是一个page对象,拿到page对象就可以操作他的方法以及属性,page是放到页面栈里面的并且最多有5个,了解小程序页面栈的管理机制有助于我们进行页面跳转参数的传递,以及在目的页面改变原页面的属性达到传参的效果:


路由方式 页面栈表现
初始化 新页面入栈
打开新页面 新页面入栈
页面重定向 当前页面出栈,新页面入栈
页面返回 页面不断出栈,直到目标返回页
tab切换 页面全部出栈,只留下新的tab页面
重加载 页面全部出栈,只留下新的页面

通过getCurrentPages()获取页面栈内所有的Page对象,去某一个Page对象即可操作其方法和属性。

比如页面跳转传参:

  1. A调用wx.navigateTo({ url: '/pages/B/B' }); 跳转到B页面,
  2. B页面从栈里面取A页面的Page对象:
var currPage = pages[pages.length - 1];   //当前页面,B页面Page对象
var prevPage = pages[pages.length - 2];  //上一个页面,A页面的Page对象 
  1. 调用setData传参:prevPage.setData({name:"三三" });
  2. 调用wx.navigateBack();即可返回到上一个页面,此时即A页面

评论表单

Copyright © 2018 睿懿php | 蜀ICP备17011020号-1 | Powered by Aaron