在app中经常会用到页面栈传值,页面栈可以获取到前面页面的所有值
比如:现在有3个页面(a,b,c)
现在有一个需求是这样的:需要从a页面跳到b再从b跳到c,然后b要获取c页面的数据
这样的话我们可以这样写:
a页面:
uni.navigateTo({ url: './bookingGoods?&goodsList=' + JSON.stringify(this.detailList), })
可以携带参数。
b页面获取:
有一个声明周期函数 onLoad (option) { this.detail = JSON.parse(option.data)}
这样就获取到了
c页面可以这样写
c页面中有个值dataList,b页面想要,就可以这么写
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; //上一个页面
prevPage.dataList = this.dataList
uni.navigateBack({
delta: 1
})
//这样就会给他存到上一个页面的技术栈中
这样在b页面就能获取到
let pages = getCurrentPages();
let prevPage = pages[pages.length - 1]; //当前页面
console.log(prevPage.dataList)
//这样就获取到了下一个页面的值