简介:
微信小程序 框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈就记录在一个数组中。
开发者可以使用 getCurrentPages()
函数获取当前页面栈。
说这么多可能大家不明白, getCurrentPages() 返回的结果 用大白话说就是所有浏览页面的this对象组成的数组。
数组中第一个元素为首页,最后一个元素为当前页面。
但是有几点注意事项:
1、 不要尝试修改页面栈,会导致路由以及页面状态错误 (用setData 改改data值 还是可以的)
2、不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成
好了,那写一下用法
let pages = getCurrentPages(); //获取所有推宅
if (pages.length >= 2) {
let currPage = pages[pages.length - 1]; //当前页面。
let prevPage = pages[pages.length - 2]; //上一个页面
//获取上一个页面的data.data2的值
var data2 = prevPage.data.data2
//设置上一个页面的data.data1的值
prevPage.setData({
data1: '其它页面改的'
});
}
使用技巧: