小程序页面栈应用

页面栈原理

小程序的每个页面都是一个page对象,拿到page对象就可以操作他的方法以及属性,page是放到页面栈里面的并且最多有5个
在这里插入图片描述

页面栈应用

通过getCurrentPages();获取页面栈内所有的Page对象,去某一个Page对象即可操作其方法和属性。
比如页面跳转传参:
1、从A页面跳转B页面
2、B页面从栈里面取A页面的Page对象:
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面,B页面Page对象
var prevPage = pages[pages.length - 2]; //上一个页面,A页面的Page对象
3、调用setData传参:prevPage.setData({name:“三三” });
用于,在很多时候,当前页面B操作影响数据库的变化,回退的时候要对上一个页面A进行刷新,而回退又不能
传递参数,可以使用全局变量来传递参数,但是项目大了全局变量就会很多不利于维护。这时候我们可以在A页面
data里面加一个变量needRefresh。在B页面可以修改needRefresh,再在A页面的onShow方法里面判断,如果
needRefresh为true,就执行onLoad方法或者相对应的刷新方法。

猜你喜欢

转载自blog.csdn.net/qq_22038259/article/details/83059750