小程序的每一个页面都是一个page对象,小程序中页面栈最多十层,了解小程序页面栈的管理机制有助于咱们进行页面跳转参数的传递,以及在目的页面改变原页面的属性达到传参的效果:小程序
经过getCurrentPages();获取页面栈内全部的Page对象,去某一个Page对象便可操做其方法和属性。url
好比页面跳转传参:spa
1.A调用wx.navigateTo({ url: '/pages/B/B' }); 跳转到B页面,此时的动做是push(入栈)一个页面,其效果以下:code
2.B页面从栈里面取A页面的Page对象:对象
var currPage = pages[pages.length - 1]; //当前页面,B页面Page对象 var prevPage = pages[pages.length - 2]; //上一个页面,A页面的Page对象
3.调用setData传参:prevPage.setData({name:"三三" });
4.调用wx.navigateBack();便可返回到上一个页面,此时即A页面,这是一个页面出栈(pop)的过程;
5.调用wx.redirectTo();这是一个原页面出栈,新页面入栈的过程;ip