微信小程序跨页面传值
需求:跳转到另一个页面选择一些东西然后显示在页面中 例如:进入筛选项页面,选择,然后回到列表页面刷新页面。
第一种方法
在 app.js
里的 app.globalData
上设一个属性,进行传值共享
例如:
设置一个可共享的属性 data
第二个页面 设置值
第一个页面获取值
这种方法简单常用,但是使用不灵活,而且可能需要清理 getApp().globalData
上的属性,
第二种方法
直接通过 wx.navigateBack
调用页面上的方法进行回调
wx.navigateBack({
success() {
setTimeout(() => {
let page = getCurrentPages().pop();
if (!page) {
return;
}
// TODO
}, 10);
}
});
这里需要注意 getCurrentPages().pop()
获取到的页面需要加上延迟,不然在真机上会获取到的是未返回的页面
例如:
第二个页面 返回值
Page({
tapBack() {
wx.navigateBack({
success() {
setTimeout(() => {
let page = getCurrentPages().pop();
if (!page) {
return;
}
page.selectedBack({});
}, 10);
}
});
}
})
第一个页面接收值
转载请保留原文链接: https://zodream.cn/blog/id/187.html